SC_MONITORPOWER

Wohl das A & O in der Windows-Programmierung

Moderatoren: crack, Krüsty, Marwin

Beitragvon Kreisquadratur » Dienstag 7. Oktober 2003, 15:42

Ich habe das gleiche Programm schon unter C# geschrieben. Es klappt. Jedoch brauch selbst so ein kleines Programm mehrere Sekunden um das .NET zu laden.
Deshalb habe ich mich entschlossen es in ASM zu schreiben. Komischerweise passiert beim ausführen genau nichts.
Ich denke es liegt wohl am falschen Handle, aber welches muss ich nehmen? In C# habe ich einfach this.handle genommen. :(


Code: Alles auswählen
   .386
   .model flat, stdcall
   option casemap :none

   include ..\include\windows.inc;WM_SYSCOMMAND, SC_MONITORPOWER
   include ..\include\user32.inc;SendMessage
   include ..\include\kernel32.inc;ExitProcess

   includelib ..\lib\user32.lib;SendMessage
   includelib ..\lib\kernel32.lib;ExitProcess


.data?
   hInstance HINSTANCE ?

.code

start:

   invoke GetModuleHandle, 0
   mov hInstance, eax
   invoke SendMessage, hInstance, WM_SYSCOMMAND, SC_MONITORPOWER, 2
   invoke ExitProcess, 0

end start
Kreisquadratur
Newbie
 
Beiträge: 1
Registriert: Dienstag 7. Oktober 2003, 15:32

Beitragvon Marwin » Dienstag 7. Oktober 2003, 15:46

Hallo Kreisquadratur,

Ich kenne mich in C# nicht besonders gut aus, daher meine Frage: Welches Handle meinst du?

Grüße, Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon CDW » Dienstag 7. Oktober 2003, 19:46

hm, versuchs mal damit:
Code: Alles auswählen
invoke SendMessage, HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2

(der Code von dir klappt bei mir auch net, aber dieser hier schon...)
CDW
Alter Hase
 
Beiträge: 62
Registriert: Donnerstag 2. Oktober 2003, 17:17


Zurück zu Windows-API

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron