|
|
|
Il metodo oShell.ShellExecute() sembra non funzionare su certi sistemi operativi, come
ad esempio Windows 98.
Si puo utilizzare invece la seguente funzione equivalente:
FUNCTION ShellExecLPARAMETER lcLink, lcAction, lcParms, lcDir,lcModApertura lcAction = IIF(EMPTY(lcAction), "Open", lcAction) lcParms = IIF(EMPTY(lcParms), "", lcParms)lcDir=IIF(empty(lcDir),"",lcDir)lcModApertura=IIF(empty(lcModApertura),1,lcModApertura) DECLARE INTEGER ShellExecute ; IN SHELL32.dll ; INTEGER nWinHandle, ; STRING cOperation, ; STRING cFileName, ; STRING cParameters, ; STRING cDir, ; INTEGER nShowWindow DECLARE INTEGER FindWindow ; IN WIN32API ; STRING cNull,STRING cWinName RETURN ShellExecute(FindWindow(0, _SCREEN.caption), ; @lcAction, @lcLink, ; @lcParms, @lcDir, lcModApertura) |
Parametri:
lcLink : e’ una stringa
che puo rappresentare diverse cose :
|
|
lcAction
: è l’operazione definita in Windows per un certo file; se si fa click-destro
su un certo
Apri,
Modifica,Print,…. Quando lcAction non viene specificato,
si esegue quella implicita che windows fa vedere in grassetto. |
|
lcParms: certi programmi accettano parametri nella
riga di commando che di solito sono nomi di file . Ad esempio il programma
Notepad.exe acceta come parametro nella riga di commando un |
|
lcDir : e’ il la directory di partenza per
il programma che si lancia; |
|
lcModApertura:
fa riferimento al modo in quale la finestra del programma che si lancia sara’
aperta. |
|
Valori per il parametro
lcModApertura |
Descrizione |
|
1,5,9 |
Finestra normale col Focus |
|
2 |
Finestra minimizzata col Focus |
|
3 |
Finestra massimizzata col Focus |
|
4, 8 |
Finestra avra’ la posizione e la dimensione della precedenta apertura, ma senza il Focus. La finestra corrente rimane attiva. |
|
6,7 |
La finestra sara’ aperta come icona senza il Focus. La finestra corrente rimane attiva. |
Torna al metodo ShellExecute Torna
all'inizio del documento