Winziges Problem!
-
Hi,
wie kann ich erst den Text so umformen, dass sich erst das Fenster öffnet und danach das Programm startet - und nicht umgekehrt? Habe bereits etwas rumprobiert!
#pragma comment(lib, "user32.lib") #include <windows.h> #include "Form1.h" #include "stdafx.h" using namespace TastendruckSimulation; void SetNumlock(BOOL bState) { BYTE keyState[256]; GetKeyboardState((LPBYTE)&keyState); if( (bState && !(keyState[VK_NUMPAD3] & 1)) || (!bState && (keyState[VK_NUMPAD3] & 1)) ) { for(;;) { Sleep(3000); // press key keybd_event( VK_NUMPAD3, 0x63, KEYEVENTF_EXTENDEDKEY | 0, 0 ); // release key keybd_event( VK_NUMPAD3, 0x63, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); } } } int main() { SetNumlock( TRUE ); // Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); SetNumlock( TRUE ); // Hauptfenster erstellen und ausführen Application::Run(gcnew Form1()); return 0; }
Danke im Voraus!
-
wie kann ich erst den Text so umformen, dass sich erst das Fenster öffnet und danach das Programm startet - und nicht umgekehrt? Habe bereits etwas rumprobiert!
Das ergibt keinen Sinn - wenn das Programm noch nicht gestartet ist, kann es auch kein Fenster anzeigen.
Was willst Du erreichen?
-
Ich möchte, dass sich beim öffnen der exe erst ein fenster auftut und direkt dananch die SetNumlock ausgeführt wird.
-
Dann musst Du den Aufruf von SetNumlock() z.B. in den Konstruktor der Form1 Klasse verschieben - oder z.B. den Load Event der Form aboniernen und im Handler die Funktion aufrufen.
Als erstes würde ich ein separates H und CPP File machen und dort die SetNumlock Funktion reinmachen (nicht den Aufruf).
-
Sorry LaKo15,
aber was du programmierst, ergibt überhaupt keinen Sinn!
Windows arbeitet komplett ereignisorientiert! Wenn du aber jetzt in deiner NumLock-Funktion eine Endlosschleife "for(;;)" programmierst, so wirst du nichts weiter erreichen als daß Windows dann "die Anwendung reagiert nicht mehr" ausgeben wird.Lerne ersteinmal die Grundlagen der Programmierung (und wenn du WinForms benutzen willst, dann steig auf C# um!!!)...
P.S. Für das Abfragen der Tastatur gibt es schon entsprechende Ereignisse: KeyDown, KeyPress, KeyUp.
-
oh... hatte ich gar nicht gesehen, das mit der Endlosschleife.. das ist natülich quatsch!