Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Windows 7 L'antishell

    Ho scritto dei programmi in vba che ora non girano,
    in particolare ho la seguente sintassi che va bene su xp e win 2000 ma su win7 non ne vuole sapere:

    File_To_Play = Show_Current_Path_And_Filename.Text
    Cleaver_Plugin_Command = "clever load "
    Total_Command = (Cleaver_Plugin_Command) & apice & (File_To_Play) & apice
    Shell (Total_Command)

    1)
    vorrei eseguire in shell il comando che ho precedentemente costruito e inserito in variabile.

    Quello che dovrebbe eseguire e' via shell:

    clever.exe load "F:\music\queen\track-01.wav"

    Come diavolo faccio a fargli eseguire sta cosa elementare?

    E' come se dovessi fare:

    A="ls -l"; b="/usr/bin/bash";$a $b
    Comando eseguito:
    ls -l /usr/bin/bash

    Il tutto e' sviluppato via excel dove le path sono delle variabili, presenti su celle excel e rilevate da una text box al cui valore corrente va attribuito il comando da eseguire
    Ho office 2003 e win7
    ----------------
    >>>Nota:
    Al massimo riesco a lanciare una applicazione "C:\Program Files\winamp\winamp.exe"
    Infatti a differenza di xp bisogna lanciare la stringa con apici

    --estratto script
    Run_Winamp = """C:\Program Files\Winamp\winamp.exe"""
    Set wshshell = CreateObject("Wscript.Shell")
    wshshell.Run Run_Winamp
    EOF
    ma funziona su win7 e non su xp e come si nota la routine non ha argomenti a seguire
    >>>End Nota
    ----------------

    Se si potesse fare in una versione che andasse bene sia su Xp che win7 non sarebbe tanto male... visti i dannati risultati...

    2) esiste una funzione tale che creo un pulsante su una form che cliccandolo mi copia il contenuto testuale di una textbox all'interno di una form, nella clipboard ? in modo poi da farci incolla su altre applicazioni??? si puo' spiegare in breve come farlo??
    Maui

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: Windows 7 L'antishell

    Originariamente inviato da mauimaui4
    ----------------
    >>>Nota:
    Al massimo riesco a lanciare una applicazione "C:\Program Files\winamp\winamp.exe"
    Infatti a differenza di xp bisogna lanciare la stringa con apici

    --estratto script
    Run_Winamp = """C:\Program Files\Winamp\winamp.exe"""
    Set wshshell = CreateObject("Wscript.Shell")
    wshshell.Run Run_Winamp
    EOF
    ma funziona su win7 e non su xp e come si nota la routine non ha argomenti a seguire
    >>>End Nota
    ----------------

    Se si potesse fare in una versione che andasse bene sia su Xp che win7 non sarebbe tanto male... visti i dannati risultati...
    Certo che si può fare, ma non devi usare i nomi diretti delle cartelle di sistema, perchè queste sono differenti in tutte le versioni di Windows e dipendono anche dalla lingua del sistema operativo.
    Ad esempio, la cartella Programmi su Windows XP italiano è "\Programmi\",
    ma su Windows XP inglese è "\Program Files\"
    (cosa sarà mai in Windows XP tedesco???)

    Per cui qualsiasi cartella tu usi andrà bene su quella versione ma non su tutte le altre.


    La soluzione è usare le costanti relative alle SpecialFolders preposte da Microsoft, che funzioneranno in qualsiasi lingua e versione di Windows:

    http://msdn.microsoft.com/en-us/library/0ea7b5xe(v=vs.85).aspx

    Nelle versioni di Windows a 64bit esistono poi 2 posizioni differenti per la cartella "Programmi ":
    - quella per i programmi a 32 bit : Program Files (x86)
    - quella per i programmi a 64 bit : Program Files

    Infine, i percorsi vanno sempre racchiusi tra doppi apici perchè è il solo modo per individuare correttamente i percorsi nel caso contengano spazi.


  3. #3
    si , le costanti le uso.
    ''''Run_Winamp = Environ("ProgramFiles") & "\Winamp\winamp.exe"

    ora le ho tolte perche' mi pare che environ non lo prende il pagliaccio di windows7
    Xp non lo prende perche' non vuole apici per eseguire
    la routine
    shell (nomevariabile)

    nella fattispecie della costruzione dei comandi su win7
    ho pure messo e tolto gli apici 100 volte.

    codice:
     
    Cleaver_Plugin_Command = """clever load"""
    'oppure
    Cleaver_Plugin_Command = "clever load"
    Set WshShella = CreateObject("WScript.Shell")
    
    toRun = Cleaver_Plugin_Command & File_To_Play
    'WScript.Echo toRun
    msgbox (toRun)
    WshShella.Run (toRun)
    Sta robba non funziona.
    a questa riga me lo segna giallo:
    WshShella.Run (toRun)

    Il comando in cmd e' il seguente:
    clever load "W:\pink floyd - Echoes"

    come faccio a passargli sta cosa?

    Sono 3 giorni che non vedo la luce.
    Maui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.