Představte si, že chcete otevřít tabulku Excelu, dokument Wordu nebo obyčejný textový soubor. Jak to ale udělat, když nevíte cestu k Wordu
Opět je řešení jednoduché - pomocí DECLARE:
DECLARE INTEGER FindWindow IN WIN32API STRING cNull, STRING cName DECLARE INTEGER ShellExecute IN Shell32.dll; INTEGER nWinHandle,; && Které okno bude obsahovat chybová hlášení STRING cOperation,; && Open/print (ten ale pouze pro DOC,TXT,...) STRING cFileName,; && exe/document STRING cParameters,; && Parametry STRING cDirectory,; && pracovní adresář INTEGER nShowWindow && 0=not visible, 1=visible and active, 2=minimized, 3=maximized, 4=maximized and not visible *)
Potom již můžete spouštět programy - zde například otevírám soubor TODO v podle mého soudu nejlepším textovém editoru FTE:
ret=ShellExecute(FindWindow(0,_Screen.Caption),"open","fte.exe","c:\winuti\fte\todo.txt","c:\winuti\fte\",4)
Stejně tak ale můžu pouze předat jméno tetxového souborua ten se mi automaticky otevře ve správném programu:
ret=ShellExecute(FindWindow(0,_Screen.Caption),"open","c:\winuti\fte\todo.txt","","c:\winuti\fte\",2)
Pokud je vrácená funkční hodnota větší nebo rovna 32, je vše v pořádku, jinak se vyskytla chyba.
A to je vše. Zdraví vás
Milan Kosina, kosina@vol.cz
* | Pozn. přepis.: | V případě parametru nShowWindow se jedná o konstanty SW_MAXIMIZE,SW_MINIMIZE,SW_SHOWNORMAL atd. které jsou v souboru winuser.h |