Sec, blogmal! - tidbits - windows-xlock

Categories:

Everything

November '17

MoDiMiDoFrSaSo
303112345
6789101112
13141516171819
20212223242526
27282930123

Archive:

Tue, 07 Mar 2006

Locking the Screen on Windows

Wer unter Windows seinen Bildschirm per Programm oder Script locken will, der kennt bestimmt diesen Schnipsel:

 rundll32.exe user32.dll,LockWorkStation 

Das funktioniert bei mir (und vielen anderen Leuten) auch ganz wunderbar, ist nur leider falsch.

In Raymond Chens Blog The Old new Thing bin ich heute mehr zufällig über einen Artikel gestolpert, der eklärt, warum das böse[tm] ist. Kurz gesagt, rundll32 ruft die Funktion mit komplett falscher Signatur auf, was zu einigem Müll auf dem Stack führt.

Glücklicherweise ist ein entsprechendes C-Programm schnell zur Hand:

 #define _WIN32_WINNT 0×0500
 #include <windows.h>

 int CALLBACK WinMain(HINSTANCE a, HINSTANCE s, LPSTR d, int f)
 {
 	LockWorkStation();
 	return 0;
 } 

Und dank cygwin und gcc auch schnell compiliert:

 karoshi:~/LockWorkStation>gcc -Wall -mno-cygwin -o xlock xlock.c
 karoshi:~/LockWorkStation>strip xlock.exe 
 karoshi:~/LockWorkStation>ls -l xlock.*
 -rw-rw-rw- 1 sec Kein  169 Mar  7 11:30 xlock.c
 -rwxrwxrwx 1 sec Kein 4608 Mar  7 11:42 xlock.exe

Wers gerne als binary mag, kann es gerne da oben runterladen. Bei mir hat es ab jetzt einen festen Platz in ~/bin.

– Sec


posted at: 11:51 | Category: /tidbits | permanent link to this entry | 0 comments (trackback)
 

Your Comment
 
Name:
URL/Email: [http://... or mailto:you@wherever] (optional)
Title: (optional)
Comment:
Save my Name and URL/Email for next time
(Note that comments will be rejected unless you enter 42 in the following box: )

powered by blosxom
in 0.00 s