En der kan hjælpe med et meget simpelt program ?

Tags:    c++

Hej..

jeg spiller det her spil som hedder Diablo II..

Der bliver "traded" en der og man kan lave en kommando hvor man skriver: "!hej" så kommer det til at stå over ens hoved i et lille vindue, men dette vindue forsvinder efter få sekunder hvor man så kan trykke: enter, pil op, enter..
Det gør så at det vindue hvor man skal skrive noget kommer frem.. Så når man trykker pil op så kommer det frem som man sidst skrev (!hej) også kommer det til at stå over ens hoved igen..
Så tænkte jeg..
Hva nu vis jeg ikke var tilstede og jeg ville havde det til at stå over mit hovede hele tiden.. Altså en program som trykkede: enter, pil op, enter også ventede 1 sec også gjorde det igen.. (Det skal nok være et kvart sekund delay efter vær tryk... :)
Programmet skal helst kunne køre nede i proces linien og sådan at man kunne trykke på f.eks "Ins" også "End" for at stoppe den.. :) Det ville være meget dejligt vis en kunne fixe sådan et program til mig.. :D

EDIT: Jeg gir alle mine points til den som har en løsning.. :)



Indlæg senest redigeret d. 18.01.2007 01:31 af Bruger #11183
5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
har du heller ikke tid til et SendInput eksempel?



For at lave selve funktionen skal du kun bruge SendInput:
http://msdn2.microsoft.com/en-us/library/ms646310.aspx

Og måske Sleep(ms) til at lave delay.

For at få programmet til at ligge i tray:
http://damb.dk/trayicon.php

Du kan bruge en windows hook til at fange tastetryk:
http://msdn2.microsoft.com/en-us/library/ms644990.aspx
WH_KEYBOARD_LL er specielt interessant.
Se også:
http://damb.dk/snip/rmkey.html




kunne vi evt. få en færdig source af dette?
fordi jeg kunne godt bruge den selv =)



Jeg har ikke tid for tiden, så I skal ikke regne med at jeg laver det.

Er der en anden der har mod på opgaven skal jeg gerne hjælpe.



Et program der skriver hej:

#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <iostream>
#include <stdlib.h>

int main()
{
INPUT Input[6];
memset(Input, 0, sizeof(Input));
Input[0].type = INPUT_KEYBOARD;
Input[0].ki.wVk = 'H';
Input[1].type = INPUT_KEYBOARD;
Input[1].ki.dwFlags = KEYEVENTF_KEYUP;
Input[1].ki.wVk = 'H';
Input[2].type = INPUT_KEYBOARD;
Input[2].ki.wVk = 'E';
Input[3].type = INPUT_KEYBOARD;
Input[3].ki.dwFlags = KEYEVENTF_KEYUP;
Input[4].ki.wVk = 'E';
Input[4].type = INPUT_KEYBOARD;
Input[4].ki.wVk = 'J';
Input[5].type = INPUT_KEYBOARD;
Input[5].ki.dwFlags = KEYEVENTF_KEYUP;
Input[5].ki.wVk = 'J';
SendInput(6, Input, sizeof(INPUT));

std::cin.get();
}



t