Jak z poziomu delphi uruchomić inny program
AndRew
To jest sklejka z kilku postów z forum. Mam nadzieję, że będziesz wiedział(a), o co chodzi.
Sposób Rudy'ego:
```delphi WinExec('NazwaProga', SW_SHOW); ``` Gdzie: * pierwszy parametr to nazwa programu do uruchomienia * drugi parametr to sposób wyświetlania: * SW_SHOW - widoczny * SW_HIDE - ukryty (praca w tle)WinExec jest jedynie pozostałością w celu zgodności z wcześniejszymi wersjami Windows, w rzeczywistości jest to teraz jedynie funkcja CreateProcess - Dryobates
Sposób Adama Kulikowskiego:
```delphi uses ShellAPIShellExecute(Handle, 'open', 'notepad.exe', nil, 'C:\Windows\system32', SW_SHOWNORMAL);
//lub...
ShellExecute(Handle, 'open', 'C:\Windows\system32\notepad.exe', nil, nil, SW_SHOWNORMAL);
Gdzie:
* pierwszy parametr to uchwyt okna, które wykonuje instrukcję
* drugi parametr to zadanie do wykonania:
* edit
* explore
* find
* open
* print
* trzeci parametr to nazwa pliku (bez parametrów, można podać ścieżkę) lub np. strony internetowej do otwarcia
* czwarty parametr to parametry dla uruchamianego programu
* piąty parametr to ścieżka, w której program będzie wykonywany (może być inna niż rzeczywista)
* szósty parametr to sposób wyświetlania okna programu:
* SW_HIDE - ukryty
* SW_MAXIMIZE - maksymalizuje określone okno
* SW_MINIMIZE - minimalizuje określone okno
* SW_RESTORE - jeśli określone okno jest zminimalizowane albo zmaksymalizowane, przywraca normalny rozmiar i widoczność
* SW_SHOWDEFAULT - ustawia domyślną widoczność
* SW_SHOWMAXIMIZED - wyświetla okno zmaksymalizowane
* SW_SHOWMINIMIZED - wyświetla okno zminimalizowane
* SW_SHOWMINNOACTIVE - wyświetla okno zminimalizowane i aktywuje poprzednie okno
* SW_SHOWNA - wyświetla okno z domyślnymi ustawieniami, ale zachowuje poprzednie okno aktywne
* SW_SHOWNOACTIVE - wyświetla okno w najczęściej używanej pozycji i rozmiarze, zachowuje poprzednie okno aktywne
* SW_SHOWNORMAL - wyświetla okno normalnie, jeśli będzie zminimalizowane albo zmaksymalizowane, Windows przywróci je. Ta flaga powinna być używana, jeśli okno jest otwierane pierwszy raz.
Dobra już mam. Zamiast ściezki podajemy wskaźnik PChar(zmienna)
Gdyby komuś sie przydało
Pozdro
Witam, mam problem z otworzeniem pdf'a. Otórz kiedy podaje ścieżkę "na stałe" wszystko jest w porządku np: ShellExecute (Handle, 'open', 'c:\costam\nazwa.pdf', nil, nil, SW_SHOWNORMAL);
Problem zaczyna sie kiedy chce w miejsce parametru scieżki do pliku " 'c:\costam\nazwa.pdf' " Podać zmienną .
Chce zeby program otwierał mi jakieś różne pdf'y w zależności od tego, co wybierze urzytkownik w programie.
Mam nadziej,ze napisałm to dosyć zrozumiele :)
Pozrdrawiam
Delphi, jak otworzyć plik pdf ? [delphi, otwieranie pliku pdf]
Do otwarcia pliku zewnętrznego (txt, pdf), jeśli chcesz go otworzyć w jego domyślnym programem (np. Notatnik lub Adobe Reader), można użyć połączenia interfejs API ShellExecute
w uses dodać ShellApi
procedure TMasterMind04.InstructionsClick(Sender: TObject);
begin
ShellExecute (Handle, 'open', 'c://ef90.pdf', nil, nil, SW_SHOWNORMAL);
end;
tutaj otwieranie idzie z menu ale może być z buttona itd.
heh to jest to czego szukałem długi czas :D
A czy dało by sie ten program co ma sie uruchomić skompilować jakoś z programem którym zrobiłem w delphi??
Dzięki wielkie! Przydało mi się bardzo :)
spoko... dzieki za kodzik...
zdarza się.. już poprawiłem :)
zjadłeś jedno ( w shellexecute :]