Har precis börjat med Visual C++ och försöker skriva ett program som skickar kommando till andra program. Exakt menar du med "skicka kommando"? Det jag vill kunna göra är kontrollera ett externt program genom att simulera kortkommando. Om det är möjligt skulle jag vilja simulera musklicka på vald plats men till en början räcker det med kortkommandona. Det första, enklaste, varianten är att använda sig av ett externt program. Tycker att "AutoIT" är bra. Du kan programmera mot det med en slags variant på BASIC. Har tittat lite på SendMessage coh det verkara vara det som passar. Mitt problem är bara att jag inte lyckas lista ut hur jag ska skriva koden. Jag förutsätter att du har gått in på den här sidan:Skicka kommando till andra program utan focus.
Som prov har jag försökt med Anteckningar och Winamp men utan att lyckas. Kommandona ska skickas utan att programmen i fråga är i focus.
Har försökt med SendMessage men utan framgång och skulle uppskatta en kodsnutt jag kna lära från.
Någon som vet?Sv: Skicka kommando till andra program utan focus.
Ett meddelande i stil med en knapptryckning?
Eller något mer komplicerat - typ "öppna fil x"?
Förstnämnda finns det hyfsade sätt att lösa (jag har inte exakt metoder i huvet just nu). För sistnämnda så är det helt och hållet beroende på program, och du måste konsultera programmens manualer, om det överhuvudtaget är möjligt.Sv:Skicka kommando till andra program utan focus.
Några idéer?Sv: Skicka kommando till andra program utan focus.
Den andra varianten är att du använder SendMessage eller PostMessage (WinAPI-funktioner som du kan kolla upp på MSDN). Det är besvärligare.
Tredje varianten blir den jag nämnde innan - att du arbetar mot ett programs API (Winamp har ett, t.ex.).Sv:Skicka kommando till andra program utan focus.
Något exempel?Sv: Skicka kommando till andra program utan focus.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/sendmessage.asp
Du ser att det finns fyra olika argument till funktionen:
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
orden med stora bokstäver är typen av argument, och med blandade namnet på argumentet.
hWnd är ett "handle" till fönstret i fråga. Det får du fram genom exempelvis FindWindow.
Msg är meddelandet till fönstret. Kan dem inte så bra, men det är koder som är namngivna enligt en standard, typ WM_CREATE. Så det är något i stil med WM_MOUSEDOWN eller WM_KEYDOWN eller något sånt.
wParam och lParam är parametrar som du skickar. Exakt vilka parametrar det är beror på vilket meddelande du skickar, och kan t.ex. ange positionen för musen, och vilken knapp som är intryckt för en mustryckning. Det får du kolla upp (och jag vet inte var just nu).Sv:Skicka kommando till andra program utan focus.
Svara