| |
| |
|
 | Ein sehr cooles Beispiel ( [...] ) von Andreas Miethe, dass zeigt wie man recht optimal
überwacht, ob man ein TrayIcon neu herstellen sollte: KompilierenMarkierenSeparieren $H Windows.ph
'Diese Meldung wird auch von Windows versendet wenn das Tray-Fenster
'neu angelegt wird, also bei Start oder Explorer-Crash
Var TaskbarCreated& = ~RegisterWindowMessage("TaskbarCreated")
Var Hicon& = create("hIcon","A")
WindowStyle 539
CLS
Var Ende& = 0
'Meldung als Usermessage anlegen
Usermessages TaskbarCreated&
'Timer für die Überwachung setzen
Settimer 1000
WhileNot ende&
WaitInput
If %uMessage = TaskbarCreated&
'Taskbarcreated ist angekommen
'entweder von Windows oder vom Programm selber
TrayIcon("Add", %hWnd, 1, hIcon&, "TrayIcon 11")
Print "Tray-Icon angelegt"
EndIf
If %wmtimer
If ~Findwindow("Shell_TrayWnd","")
'wenn das Tray-Fenster vorhanden ist dann Meldung absetzen
SendMessage(%hwnd,TaskbarCreated&,0,0)
'Der Timer wird nur bei Programmstart benötigt
killtimer
EndIf
EndIf
If %key = 2
Ende& = 1
EndIf
EndWhile
TrayIcon("Delete", %hWnd, 1)
End
|
|
| |
| |
| |
|
|
 Andreas Miethe
 | In dem Zusammenhang gleich noch etwas. Um das zu testen muss der Explorer neu gestartet werden.
Das geht so : KompilierenMarkierenSeparieren
Proc KillProcess
Var Kernel& = Importdll("Kernel32.dll","")
Def &TH32CS_SNAPPROCESS 2
STRUCT PROCESSENTRY32 = \
dwSize&,\
cntUsage&,\
th32ProcessID&,\
th32DefaultHeapID&,\
th32ModuleID&,\
cntThreads&,\
th32ParentProcessID&,\
pcPriClassBase&,\
dwFlags&,\
szExeFile$(~MAX_PATH)
PARAMETERS Filename$
Var TH& = CreateToolhelp32Snapshot(&TH32CS_SNAPPROCESS,0)
Var PE# = New(PROCESSENTRY32)
Var PID& = 0
Var phandle& = 0
PE#.dwSize& = Sizeof(PE#)
Process32First(th&,PE#)
While Process32Next(th&,PE#)
If Upper$(PE#.szExeFile$) = Upper$(Filename$)
Pid& = PE#.th32ProcessID&
pHandle& = OpenProcess($400 | $10 | 1,0,PID&)
TerminateProcess(pHandle&,0)
CloseHandle(pHandle&)
Break
EndIf
EndWhile
Dispose PE#
CloseHandle(th&)
Freedll Kernel&
EndProc
KillProcess("explorer.exe")
|
|
| |
| XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...]  | 09.02.2013 ▲ |
|
| |
|