|
| Control-Escape Fra : Toke Gaarde Schmidt |
Dato : 05-03-01 08:44 |
|
Hej
Nu må jeg have hjælp. Jeg ønsker at sende kommandoen Contr + Ecape til
computeren, så jeg automatisk får åbnet START-menuen. Jeg har prøvet
meget,
f. eks: Sendkeys("^{ESC}") og Sendkeys("^" & chr(27))), men intet
virker.
Hvad gør man?
Hilsen
Toke
| |
Torsten Iversen (05-03-2001)
| Kommentar Fra : Torsten Iversen |
Dato : 05-03-01 18:13 |
|
In article <3AA3444D.DB47B9CD@cpa.spo.dk>, Toke Gaarde Schmidt wrote:
>Hej
>
>Nu må jeg have hjælp. Jeg ønsker at sende kommandoen Contr + Ecape til
>computeren, så jeg automatisk får åbnet START-menuen. Jeg har prøvet
>meget,
>f. eks: Sendkeys("^{ESC}") og Sendkeys("^" & chr(27))), men intet
>virker.
>
>Hvad gør man?
>
Du kunne prøve at kigge lidt på Windows APIet eller, hvis du har et
grafisk programmeringsværktøj, forsøge at finde en biblioteksfunktion, der
kan manipulere startmenuen. Den må da være repræsenteret som et objekt,
der kan håndtere Windows Messages ligesom så mange andre
brugerfladeting. Hvis du kan finde et handle til den fra dit program, må
du kunn komponere en ctrl-esc event og sende den med PostMessage(). Eller
måske er der ligefrem et funktionskald til at bringe menuen frem.
Hvis du ikke kan programmere til Windows er der måske en haj i gruppen,
der kan trylle et program frem på ingen tid. Jeg ville skulle bruge lang
tid på at rode rundt i dokumentationen for at gøre det.
Torsten
| |
Thomas J. (05-03-2001)
| Kommentar Fra : Thomas J. |
Dato : 05-03-01 21:15 |
|
Hej Toke
Du kan evt. bruge "postmessage".
Jeg har lavet et eksempel som virker i Win95.
'Denne kode placeres i et modul:
*Public Const WM_LBUTTONDOWN = &H201
*Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName *As String) As Long
*Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal
hWnd1 As Long, ByVal hWnd2 As Long, *ByVal lpsz1 As String, ByVal lpsz2 As
String) As Long
*Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd
As Long, ByVal wMsg As Long, ByVal *wParam As Long, ByVal lParam As Long) As
Long
'Modul slut.
'Denne kode placeres under koden til form1 - husk at putte en "command
button" på form1:
*Private Sub Command1_Click()
*Dim TopWin, ChildWin As Long
* TopWin = FindWindow("Shell_TrayWnd", vbNullString)
* If CBool(TopWin) Then
* ChildWin = FindWindowEx(TopWin, 0, "Button", vbNullString)
* If CBool(ChildWin) Then
* PostMessage ChildWin, WM_LBUTTONDOWN, 0, &H50005
* End If
* End If
*End Sub
'Formkode slut
Jeg håber du kan bruge det.
Med venlig hilsen
Thomas J.
thomas@moontown.net
"Toke Gaarde Schmidt" <tgs@cpa.spo.dk> skrev i en meddelelse
news:3AA3444D.DB47B9CD@cpa.spo.dk...
> Hej
>
> Nu må jeg have hjælp. Jeg ønsker at sende kommandoen Contr + Ecape til
> computeren, så jeg automatisk får åbnet START-menuen. Jeg har prøvet
> meget,
> f. eks: Sendkeys("^{ESC}") og Sendkeys("^" & chr(27))), men intet
> virker.
>
> Hvad gør man?
>
> Hilsen
>
> Toke
>
| |
|
|