Avatar billede terminator Nybegynder
25. september 2003 - 16:42 Der er 22 kommentarer og
1 løsning

Program opstart + Hotkey

Hej !

Hvordan får man et program til at starte op og derefter udføre en genvejsfunktion...?

"C:\Programmer\wincmd\WINCMD32.EXE

Ovenstående er kun et eksempel.

Hvad skal der helt nøjagtigt stå efter exe for at udføre en kommando der hedder "ctrl+skift+R" i selve programmet man starter ?

terminator
Avatar billede tonnybrandt Nybegynder
26. september 2003 - 00:07 #1
Det kan du ikke. Problemet er at programmet skal understøtte det. Når du sætter en parameter efter en exe fil, skal programmet jo selv tyde parameteren og udføre kommandoen. Windows giver bare parameteren videre.

Jeg går ud fra at det er Windows Commander du vil have til at gøre et eller andet. Jeg har den ikke installeret og ved derfor ikke om den kan udføre noget der ligner det du vil have den til. Windows i sig selv, har ikke den funktionalitet du efterlyser.
Avatar billede terminator Nybegynder
26. september 2003 - 10:30 #2
Nej, det er ikke WindowsCommander jeg vil have til at gøre noget. Men derimod
et program der hedder "Hypersnap".  Jeg vil have programmet til at starte op og udføre kommandoen "ctrl+skift+r" som starter muligheden for at "snappe" et område af skrivebordet f.eks.

Det må da kunne lade sig gøre. Jeg spillede en del Quake3 i tidernes morgen og der kunne man f.eks indsætte "E:\games\Quake III Arena\quake3.exe" +exec rg.cfg
Avatar billede terminator Nybegynder
26. september 2003 - 10:33 #3
Hvor rg.cfg stod for en anden configuration end den man normalt kørte med. Dette har altid virket perfekt, men det er måske ikke helt det samme ?

terminator
Avatar billede tonnybrandt Nybegynder
26. september 2003 - 10:49 #4
Jeg har kigget lidt på "features" i det program og der er selvfølgelig en hotkey funktion, men jeg har ikke kunnet finde noget om en "autoexec" funktion, hvor den automatisk tager et snapshot når den starter op. Så du må lede i programmet efter en sådan funktion og findes den ikke kan det ikke lade sig gøre.
http://www.hyperionics.com/
Avatar billede tonnybrandt Nybegynder
26. september 2003 - 10:51 #5
Nej det er ikke det samme. Windows har intet med parametrene at gøre, den afleverer dem bare til programmet under opstarten. Hvordan programmet vælger at tolke parametrene er helt op til programmet. Quake kender så -exec og ved at den næste parameter så er konfigurationsfilen, men det er en feature i Quake.
Avatar billede Slettet bruger
27. september 2003 - 14:37 #6
vb script har en funktion: SendKeys, der kan sende tastetryk til et program.

Nedenstående .vbs eksempel, starter programmet Hypersnap.exe og sender Ctrl+Shift+r til programmet.


Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "Drev:\Sti_Til\Hypersnap.exe"
Do Until Success = True
    Success = objShell.AppActivate("Hypersnap")
    Wscript.Sleep 100
Loop
objShell.SendKeys "^+m"
Avatar billede Slettet bruger
27. september 2003 - 14:39 #7
Ups. Sidstelinie skal selvfølgelig være:

objShell.SendKeys "^+r"
Avatar billede terminator Nybegynder
09. november 2003 - 09:48 #8
æhh, vb script...hvad er det lige ? Kræver det et ekstra program for at gøre det ?
Sorry for ventetiden...
Avatar billede terminator Nybegynder
15. november 2003 - 07:52 #9
Hvor skal din tekst sættes ind ?
Avatar billede terminator Nybegynder
15. november 2003 - 07:53 #10
I genvejen ?
Avatar billede Slettet bruger
15. november 2003 - 09:56 #11
Kopier teksten mellem de 2 stiblede linier, og sæt den ind i notepad (notesblok). Ret teksten "Drev:\Sti_Til\Hypersnap.exe" så den passer til dit program.

Gem filen som: hyper.vbs
Husk at sætte notepad til All files når du gemmer, ellers sætter notepad endelsen .txt på. Endelsen SKAL være .vbs.

'------------------------------------------------------
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "Drev:\Sti_Til\Hypersnap.exe"
Do Until Success = True
    Success = objShell.AppActivate("Hypersnap")
    Wscript.Sleep 100
Loop
objShell.SendKeys "^+r"
'------------------------------------------------------

Dobbeltklik på filen hyper.vbs.

:-)
Avatar billede terminator Nybegynder
16. november 2003 - 10:25 #12
>>>tpo

Hmm, det virker ikke rigtigt. Den brokker sig i linie 2 tegn 1
Fejl: Den angivne fil blev ikke fundet.

Og der hvor du har skrevet objShell.sendkeys "^+r"
Skulle der ikke have stået alt det der skal udføres i programmet...?
Altså Ctrl+shift+r  ?
Avatar billede terminator Nybegynder
16. november 2003 - 10:27 #13
Min Firewall brokker sig iøvrigt også over den og siger at det er
et "malicious script".
Men det er vel meget normalt...
Har givet scriptet lov til at køre :o)
Avatar billede Slettet bruger
16. november 2003 - 10:48 #14
Det er helt normalt at et antivirus program vil "brokke sig"
Du skal selvfølgelig rette stien til programmet, det samme gælder for linien:
Success = objShell.AppActivate("Hypersnap"), her skal "Hypersnap" ændres til navnet på programmet.
"^+r" betyder faktisk Control + Shift + r.
Se dette link: http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scriptcenter/scrguide/sas_wsh_grmi.asp

:-)
Avatar billede terminator Nybegynder
16. november 2003 - 11:02 #15
Det jeg har sat ind ser således ud:

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\Programmer\Hypersnap-dx 4\Hprsnap.exe"
Do Until Success = True
    Success = objShell.AppActivate("Hypersnap")
    Wscript.Sleep 100
Loop
objShell.SendKeys "^+r"

Kan du rette det til :o)
Avatar billede terminator Nybegynder
16. november 2003 - 11:03 #16
Så bliver jeg en glad mand på 4 viborgdæk :o)
Avatar billede Slettet bruger
16. november 2003 - 11:11 #17
Det kan jeg desværre ikke, det kræver at jeg har instaleret dit program.
Tag et kik på nedenstående link:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scriptcenter/scrguide/sas_wsh_hilv.asp?frame=true
Prøv at udføre eksemplet med notepad (notesblok).

:-)
Avatar billede Slettet bruger
16. november 2003 - 11:58 #18
Jeg hentede en evaluerings kopi af Hypersnap version 5. Udfra det du skriver er din version 4, så der et par steder du skal rette.

- "HprSnap5.exe"
- Hvis du bruger en evaluerings kopi: "Welcome to Hypersnap-DX 5!"
- Hvis du IKKE bruger en evaluerings kopi: Slet alt mellem de stiplede liner (også linierne).


Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "HprSnap5.exe"

'----------------------------------------------------------------
Do Until Success = True
    Success = objShell.AppActivate("Welcome to Hypersnap-DX 5!")
    Wscript.Sleep 100
Loop
objShell.SendKeys "{RIGHT}{RIGHT}"
Wscript.Sleep 10000
objShell.SendKeys "{RIGHT}{ENTER}"
'----------------------------------------------------------------

Do Until Success = True
    Success = objShell.AppActivate("Hypersnap-DX")
    Wscript.Sleep 100
Loop
objShell.SendKeys "^+r"


:-)
Avatar billede terminator Nybegynder
16. november 2003 - 12:33 #19
Den version jeg har er IKKE en evalueringskopi, men en registreret version.
Det jeg har sat ind, ser derfor således ud:


Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "HprSnap.exe"
Do Until Success = True
    Success = objShell.AppActivate("Hypersnap-DX")
    Wscript.Sleep 100
Loop
objShell.SendKeys "^+r"


Jeg har også prøvet med HprSnap4.exe og også med hele stien som hedder:
C:\Programmer\Hypersnap-dx 4\Hprsnap.exe

Den kommer stadig med den samme fejl.....ÆV !
Hvad fa.. gør jeg forkert ?
Kan du ud fra de informationer jeg har givet dig lave et helt komplet script nu ?
Avatar billede Slettet bruger
16. november 2003 - 12:55 #20
Prøv med dette script.

strProgram = chr(34) & "C:\Programmer\Hypersnap-dx 4\Hprsnap.exe" & chr(34)
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run strProgram
Do Until Success = True
    Success = objShell.AppActivate("Hypersnap-DX")
    Wscript.Sleep 100
Loop
objShell.SendKeys "^+r"

:-)
Avatar billede terminator Nybegynder
16. november 2003 - 15:08 #21
Kanoooooooon......det virkede :o)
Mange tak skal du have, men tænkte over hvad chr(34) egentligt er ?
Avatar billede Slettet bruger
16. november 2003 - 17:22 #22
chr(34) er koden for tegnet "
Problemet lå i at der var et mellemrum, i stien til Hprsnap.exe, derfor skulle stien sættes i gåseøjne ("").
:-)
Avatar billede terminator Nybegynder
16. november 2003 - 18:13 #23
Nåå, ok. Men takker og bukker :o)
Det var bare godt at det virkede. Var ellers lige ved at give op og æde
pointene selv. Men der kan man bare se. Må sige at du er lidt hardcore.
Hehehe :o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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