Avatar billede andreas Nybegynder
23. juli 2006 - 23:49 Der er 7 kommentarer og
1 løsning

Program til at trykke på taster

Er der nogle som kan lave et lille .exe program til mig. Det eneste programmet skal gøre er, at når man eksekvere det, så trykker programmet på tasterne CTRL + F1 etc.
Avatar billede sjh Nybegynder
24. juli 2006 - 00:06 #1
øh.. hvad skal det dog bruges til.. tror ikke du får noget ud af at sende CTRL + F1 ud i den blå luft.. taster skal sendes til et program fx.. et active program..
Avatar billede andreas Nybegynder
24. juli 2006 - 08:21 #2
Kan man angive det program. Jeg har et program som reagere når der trykkes CTRL + F1, og det ville jeg gerne ha en .exe fil til for mig.
Avatar billede mcgoat Nybegynder
24. juli 2006 - 08:48 #3
SendKeys "{^F1}"

^ = CTRL og så F1

Det burde virke.. Men ellers har jeg fundet en anden måde:

Const KEYEVENTF_KEYUP = &H2
Const INPUT_MOUSE = 0
Const INPUT_KEYBOARD = 1
Const INPUT_HARDWARE = 2
Private Type MOUSEINPUT
dx As Long
dy As Long
mouseData As Long
dwFlags As Long
time As Long
dwExtraInfo As Long
End Type
Private Type KEYBDINPUT
wVk As Integer
wScan As Integer
dwFlags As Long
time As Long
dwExtraInfo As Long
End Type
Private Type HARDWAREINPUT
uMsg As Long
wParamL As Integer
wParamH As Integer
End Type
Private Type GENERALINPUT
dwType As Long
xi(0 To 23) As Byte
End Type
Private Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As GENERALINPUT, ByVal cbSize As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Public Sub SendKeyCtrlF1()
Dim GInput(0 To 1) As GENERALINPUT
Dim KInput As KEYBDINPUT
'Ctrl
KInput.wVk = 162 'the key we're going to press
KInput.dwFlags = 0 'press the key
'copy the structure into the input array's buffer.
GInput(0).dwType = INPUT_KEYBOARD ' keyboard input
CopyMemory GInput(0).xi(0), KInput, Len(KInput)

'F1
KInput.wVk = 112 'the key we're going to press
KInput.dwFlags = 0 'press the key
'copy the structure into the input array's buffer.
GInput(0).dwType = INPUT_KEYBOARD ' keyboard input
CopyMemory GInput(0).xi(0), KInput, Len(KInput)


'do the same as above, but for releasing the key
KInput.wVk = 112 ' the key we're going to realease
KInput.dwFlags = KEYEVENTF_KEYUP ' release the key
GInput(1).dwType = INPUT_KEYBOARD ' keyboard input
CopyMemory GInput(1).xi(0), KInput, Len(KInput)
'send the input now
Call SendInput(2, GInput(0), Len(GInput(0)))

'do the same as above, but for releasing the key
KInput.wVk = 162 ' the key we're going to realease
KInput.dwFlags = KEYEVENTF_KEYUP ' release the key
GInput(1).dwType = INPUT_KEYBOARD ' keyboard input
CopyMemory GInput(1).xi(0), KInput, Len(KInput)
'send the input now
Call SendInput(2, GInput(0), Len(GInput(0)))
End Sub
Avatar billede andreas Nybegynder
24. juli 2006 - 11:16 #4
Det ville være rart, hvis du kunne compile exe filen til mig. Da jeg ikke er i besiddelse af programmerne selv desværre.
Avatar billede andreas Nybegynder
24. juli 2006 - 12:40 #5
Ville det være muligt?
Avatar billede mcgoat Nybegynder
24. juli 2006 - 17:42 #6
har desværre ikke VB selv :(

men du kan muligvis lave det i vbs istedet, prøv :)

Bare lav en .vbs fil, den kan du køre kode i.

Option Explicit
Dim objShell, Racey, intCount
Set objShell = CreateObject("WScript.Shell")
objShell.Run "notepad"
Wscript.Sleep 1500
Racey = 1000
intCount=0

Do While intCount < 7
objShell.SendKeys "Hello Guy"
objShell.SendKeys "{TAB}"
objShell.SendKeys "This is line: " & intCount
objShell.SendKeys "{ENTER}"
WScript.Sleep Racey
intCount = intCount + 1
Racey = Racey - 100
Loop
objShell.SendKeys "%F"
WScript.Sleep 1500
objShell.SendKeys "x"
WScript.Sleep 1500
objShell.SendKeys "{TAB}"
WScript.Sleep 500
objShell.SendKeys "{ENTER}"

WScript.Quit
' End of Example SendKeys VBScript
Avatar billede mcgoat Nybegynder
24. juli 2006 - 17:42 #7
så kan du lege lidt med sendkeys :)
Avatar billede andreas Nybegynder
24. juli 2006 - 18:49 #8
Beklager, men jeg kunne ikke bruge det, så jeg har fået en ven til at lave et program til mig i C. Ellers tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester