seth: Rechtsklick verhindern - in Windows, nicht auf Webseite :)

Beitrag lesen

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