gudn tach!
vielleicht hilft Dir </archiv/2005/7/t111462/#m701859> weiter. Vielleicht erlaubt ja Deine Software keinen versteckten Start eines Explorers.
evtl. hilft auch ein kleines, einfaches c++-programm dabei, solche verstecke zu eliminieren.
um z.b. bei notepad die mit "oeffnen", "speichern unter..." oder per F1 aufgerufenen fenster automatisch schliessen zu lassen, kann man folgendes script einsetzen.
1 #include <windows.h>
2 #include <iostream>
3
4 int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
5 int const now=3; //number of windows
6 HWND w[now];
7 while(true){
8 w[0]=FindWindowEx(NULL, NULL, NULL,(LPCTSTR)"Datei speichern unter");
9 w[1]=FindWindowEx(NULL, NULL, NULL,(LPCTSTR)"Öffnen");
10 w[2]=FindWindowEx(NULL, NULL, NULL,(LPCTSTR)"Editor");
11 for(int i=0;i<now;++i)
12 if(w[i]!=NULL)
13 switch (i){
14 case 0:
15 case 1:
16 HWND cb=FindWindowEx(w[i], NULL, NULL, (LPCTSTR)"Abbrechen");
17 PostMessage(cb,WM_LBUTTONDOWN,0,0);
18 PostMessage(cb,WM_LBUTTONUP,0,0);
19 break;
20 case 2:
21 default:
22 PostMessage(w[i], WM_QUIT, 0, 0);
23 }
24 Sleep(100);
25 }
26 return 0;
27 }
das ist natuerlich noch erweiterbar und soll mehr ein beispiel darstellen. einige schwaechen dieser methode sind auch schon offensichtlich, z.b. muss man den sprach-abhaengigen fenstertitel kennen und jener muss eindeutig sein.
und noch besser geht's bestimmt mit systemweiten hooks.
prost
seth