StartTips & Tricks Jak uruchomić program, przeglądarkę, program pocztowy z poziomu vb?
Jak uruchomić program, przeglądarkę, program pocztowy z poziomu vb?
Napisał Administrator
niedziela, 02 październik 2005
Ca?a sprawa jest banalnie prosta. Odpowiedzialna jest za to funkcja Shell
Oto jej sk?adnia:
Shell(?cie?ka_do_programu[, styl_okna])
?cie?ka_do_progamu to lokacja aplikacji któr? chcemy uruchomi?.
styl_okna to forma w jakiej pojawi si? uruchamiany program:
vbHide
0
OKNO JEST UKRYTE ALE AKTYWNE
vbNormalFocus
1
OKNO JEST AKTYWNE I POSIADA
ORYGINALNY ROZMIAR ORAZ
POZYCJ?
vbMinimizedFocus
2
OKNO ZMINIMALIZOWANE I AKTYWNE
vbMaximizedFocus
3
OKNO ZMAKSYMALIZOWANY I
AKTYWNE
vbNormalNoFocus
4
OKNO MA NORMALNE ROZMIARY. NIE
JEST AKT
YWNE
vbMinimizedNoFocus
6
OKNO ZMINIMALIZOWANE. NIE
AKTYWNE
Np:
Wklejaj?c ten kod do procedury command_click
x=Shell("notepad.exe",1)
przez naci?ni?cie tego guzika uruchomimy notatnik w oryginalnym rozmiarze oraz aktywnym
oknie.
Uwaga !!! Korzystaj?c z powy?szej sk?adni nie mo?na uruchamia? (poprzez skojarzone z nimi
programy) plików.
W tym celu nale?y pos?u?y? si? trickiem :
x=Shell("start c:\bootlog.txt")
Wykorzystany jest tutaj programik start z katalogu /windows/command
On potrafi uruchamia? pliki.
Z tego co zauwa?y?em, parametr styl_okna jest zbyteczny - aplikacja uruchamiaj?ca dany plik
b?dzie aktywna i b?dzie mia?a normalny rozmiar.
A teraz najlepsze !!!
Przy u?yciu powy?szej sk?adni mo?na rów
nie? uruchamia? przegl?dark? lub maila np:
E-mail:
x = Shell("start.exe mailto:
", vbNormalFocus)
Przegladarka:
x = Shell("start.exe http://www.www.vb4all.w.pl", vbNormalFocus)
Poni?ej to samo, z wykorzystaniem API
W module kodu deklarujemy funkcj? API:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA"
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As
String, ByVal lpParameters As String, ByVal lpDirectory As String,
ByVal nShowCmd As Long) As Long
Ta linia okre?la w jakim oknie uruchomi sie aplikacja. Patrz poprzedni tip.
Public Const SW_NORMAL = 1
Nast?pnie np: Command Buttono'wi przypisujemy kod
X = ShellExecute(hwnd, "Open", "http://www.vb4all.w.pl", &O0, &O0, SW_NORMAL)
Dodane przez maslaku w dniu - 2007-12-09 22:44:59Wszystko super tylko jest jeden maly problem. Przy uruchamianiu programow przez shell AKTUALNY katalog ustawiany jest na ten, z ktorego uruchamiamy program napisany w VB. Na przyklad nasz program umieszczamy na pulpicie i chcemy zeby uruchomil on jakas gre/program... uruchomi sie plik *.exe do ktorego podamy sciezke w komendzie shell, ale jesli odwoluje sie on do innych plikow (a wiekszosc gier/prokramow to robi) to bedzie ich szukal wlasnie na pulpicie, oczywiscie nie znajdzie i wygeneruje blad.
Wie ktos jak ustawic AKTUALNY katalog na ten w ktorym znajduje sie program zewnnetrzny?
Dodane przez ziomek00 w dniu - 2009-01-03 18:41:21Wszystko super tylko jest jeden maly problem. Przy uruchamianiu programow przez shell AKTUALNY katalog ustawiany jest na ten, z ktorego uruchamiamy program napisany w VB. Na przyklad nasz program umieszczamy na pulpicie i chcemy zeby uruchomil on jakas gre/program... uruchomi sie plik *.exe do ktorego podamy sciezke w komendzie shell, ale jesli odwoluje sie on do innych plikow (a wiekszosc gier/prokramow to robi) to bedzie ich szukal wlasnie na pulpicie, oczywiscie nie znajdzie i wygeneruje blad.
Wie ktos jak ustawic AKTUALNY katalog na ten w ktorym znajduje sie program zewnnetrzny?
Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie. Tylko zarejestrowani użytkownicy mogą pisać komentarze.