trycka "OK" med hjälp av batch?!

Permalänk
Medlem

trycka "OK" med hjälp av batch?!

Hej där kära programmerare och ni andra. Det är så att jag behöver hjälp med en sak, jag har sökt och kollat igenom tidigare "*.bat" och "batch" trådar men inte hittat något svar på min fråga.

Det jag behöver hjälp med är en kod i batch (om det är möjligt) som klickar på OK varje gång en "popup" kommer fram. Det är nämligen så att vi på jobbet har en serverdator som startar om 3 program varje timma. Men när det ena programmet startas så krävs det att man klickar "ok" på den rutan som kommer fram. Detta är en viktig server och det är onödig personalkraft om man ska behöva klicka på denna knapp en gång i timmen.

Hoppas att ni förstod vad jag menade, och hoppas att ni kan hjälpa mig.

Ha en fortsatt trevlig dag!

// Karl

Visa signatur

//Karl

Permalänk
Hedersmedlem

Detta är inte vad .bat-filer är till för. Möjligt att du kan köra något WSH-script för det, dock. Nåt i stil med FindWindow och SendMessage, men jag har inte den blekfetaste aning om hur man gör.

Tror dock C++ eller VB blir din lösning.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Teetow
Detta är inte vad .bat-filer är till för. Möjligt att du kan köra något WSH-script för det, dock. Nåt i stil med FindWindow och SendMessage, men jag har inte den blekfetaste aning om hur man gör.

Tror dock C++ eller VB blir din lösning.

okej, jag har programerat en del i Vb och ska nog ägna mig åt detta i morgon. har du någon aning om något passande kommando som jag kan använda mig av?

Tack på förhand

PS. mer tips är mycket välkomna

Visa signatur

//Karl

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av dansarN
okej, jag har programerat en del i Vb och ska nog ägna mig åt detta i morgon. har du någon aning om något passande kommando som jag kan använda mig av?

Tack på förhand

PS. mer tips är mycket välkomna

Du kan använda dig av FindWindow/EnumWindows för att hitta själva fönstret och knappen och sen använda SendMessage för att "trycka" på knappen ..

[edit] alltså med WinAPI och VB(C/C++ eller något annat språk som kan använda win32 funktioner)

Permalänk
Medlem

Kolla lite på autoit-script, det klarar det du vill göra men mycket enklare än vb eller c++.

http://www.hiddensoft.com/AutoIt/

Visa signatur

Daniel

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av MagnusL
Du kan använda dig av FindWindow/EnumWindows för att hitta själva fönstret och knappen och sen använda SendMessage för att "trycka" på knappen ..

[edit] alltså med WinAPI och VB(C/C++ eller något annat språk som kan använda win32 funktioner)

Har sökt lite på diverse kommandod du skrev, och har inte blivigt klok på något av det jag läst. Du har inte lust att demonstrera med en liten kodrad?

Citat:

Kolla lite på autoit-script, det klarar det du vill göra men mycket enklare än vb eller c++.

http://www.hiddensoft.com/AutoIt/

hmm, har testat med ett simpelt "ghostmouse" macro, men varje gång programen startas så placerar de sig på ett nytt ställe. så att spela in en musklickning är omöjlig.

Men för de som kan med VB bra nu då, finns det inget simpelt sätt att bara få datorn att "slå ett vanligt enterslag"? det låter ju så himla simpelt...

Ha en bra dag!

Visa signatur

//Karl

Permalänk
Medlem

Går det inte att fixa så att serverprogrammet inte spottar ur sig den där ok-rutan?
Bättre att lösa problemet istället för att gå runt det som ni gör nu.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av skorpion
Går det inte att fixa så att serverprogrammet inte spottar ur sig den där ok-rutan?
Bättre att lösa problemet istället för att gå runt det som ni gör nu.

Det är ett freeware program.. Och de som skapat detta program vill väll tydligen att man ska se infon om dem varje gång detta program startas. :/

Visa signatur

//Karl

Permalänk
Medlem

VBscript:

set keyboard = WScript.CreateObject("WScript.Shell") ''starta programmen här WScript.Sleep 30000 keyboard.sendkeys("{Enter}")

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Lothar
VBscript:

set keyboard = WScript.CreateObject("WScript.Shell") ''starta programmen här WScript.Sleep 30000 keyboard.sendkeys("{Enter}")

har du några tips på vad jag kan deklarera keybord och WScript som? Förövrigt, tack så mycket

har läst programmering a, b och c.. men lik förbannat så förstår man inte allt för mycket.. :/

Visa signatur

//Karl

Permalänk
Medlem

Det är VBscript, inte Visual Basic

Spara bara texten i en fil och döp den till test.vbs. Den väntar 30 sekunder och trycker enter.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Lothar
Det är VBscript, inte Visual Basic

Spara bara texten i en fil och döp den till test.vbs. Den väntar 30 sekunder och trycker enter.

okej tack så mycket... nu återstår bara ett problem.. jag vet inte hur man "startar" ett program med vbs (aldrig använt det förut).. jag sökte igenom och fick fram svar med "Call Shell ("genväg/fil.exe")" men det vill inte funka

ytterst tacksam ifall du kan hjälpa mig med även detta!

Visa signatur

//Karl

Permalänk
Medlem

Testa Automate. Det programmet kan göra allt du vill och lite till. Jag har använt det till avancerade automationer och det har fungerat perfekt.

http://www.networkautomation.com/automate

Visa signatur

[ Adopt, Adapt and Apply ]

Permalänk
Medlem

Lothar: never mind... men behöder inte starta programmen med vbscriptet.. jag öppnar dem me den batfil och så startar jag vbscriptet samtidigt, vilket kör ett enterslag efter 10sek. det funkar utmärkt! tusen och åter tusen tack

Ha en mycket trevlig fortsatt dag!

Visa signatur

//Karl

Permalänk
Medlem

set shell = WScript.CreateObject("WScript.Shell") shell.run "C:\windows\notepad.exe" WScript.Sleep 5000 shell.sendkeys("{Enter}")

Så har du allt i samma fil.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Lothar

set shell = WScript.CreateObject("WScript.Shell") shell.run "C:\windows\notepad.exe" WScript.Sleep 5000 shell.sendkeys("{Enter}")

Så har du allt i samma fil.

mmh, tack än en gång

Visa signatur

//Karl