27. marts 2004 - 16:48Der er
88 kommentarer og 2 løsninger
Muse program
Hej eksperter!
Jeg skal lave et lille program som reagerer når man højre klikker, hvis der er sat kryds i afkrydsningsfeltet. Når det så reagerer skal det flytte musen et angivet pixels x,y ned, og venstre klikke, derefter skal den flytte musen tilbage til de position som musen havde da den reagerede.. Jeg har lavet dialogen, mangler bare functionerne...
"Vi kan desværre ikke læse tanker! (hvilket i bestemt ikke ønsker) :o)" Nej, ville sq ikk være særlig morsomt... ;-) Det er en menu i et java-spil, jo hurtigere jeg kan klikke jo bedre... Der hvor jeg højre-klikker, åbner den hjørnet af en menu, og så skal jeg vælge en bestemt ting, hvilket godt kan give svie i armen hvis man gør det for længe..
Er dette virkelig sådan et stort projekt jeg har sat mig igang med?
Som sådan ville du vel næsten blot kunne bruge en funktion som højreklikker, går til specielt koordinat og venstreklikker... Og tilbage til udgangspuntet igen!
Jeg har faktisk lavet dette i VB engang! (brugte det dog til hack på en hjemmeside) :o)
Du må kunne bruge noget fra dette eksempel: ms-help://MS.PSDK.1033/winui/winui/windowsuserinterface/resources/cursors/usingcursors.htm#_win32_Using_the_Keyboard_to_Move_the_Cursor I windows SDK.
jakobdo, der hvor jeg højre-klikker kan godt rykke sig lidt engang imellem, så det smarteste ville være at den tog min markør position, og lagde for eks. 15Y og 15X til, og så venstre klikkede
Ja, men det skal vel mere? Skal jeg så lave det så det højreklikker, venstre klikker på en menu! Hopper tilbage til udgangspunktet og gør det samme igen! Og igen! Og igen! Og igen! Og igen! Du har fattet det ikke! :o)
Det den helt præcist skal gøre er: Når jeg højre-klikker (hvis jeg har afkrydset Active) skal den automatisk rykke musen de pixel som jeg har valgt. Derefter skal den trykke på venstre musseknap og derefer igen, skal den flytte musen tilbage til den position den havde da jeg højre-klikkede
Problemet er at jeg kunne lave det med et program, som var på skærmen! Men det du vil have, er at når du højreklikker i et program/spil, så skal "min" højre kliks-menu komme frem! (og så er jeg jo inde og modificere spillet)
Jeg ville kunne lave det, så det klikker bestemte steder, men ikke så du blot kan klikke hvor du har lyst! Desværre.
Måske Arne_V eller BertelBrander kan? (de er nemlig ret seje) :o)
Jeg forstår ikke... Hvorfor skal det være "din" højre-kliks menu? Når jeg højreklikker et eller andet sted i Windows, skal programmet jo bare rykke musen ned, klikke, og rykke den tilbage igen?
Som jeg forstår det er det meningen at det skal ske ligegyldigt hvilket program der er aktivt? For at kunne det skal man ind og lave en global hook. Da Jakob har så store tanker om mine evner, er jeg vist nødt til at lave en løsning, det kan dog ikke blive før sent i aften.
Måske jeg skulle have fortalt fra starten at det hele handler om at være hurtig på musen i et Java spil i Internet Explorer... Men, ja, det aktive vindue jeg højre-klikker i, kommer en lille java-menu frem i spiller, og der skal den klikke osv osv...
Der er to projecter: 1: Et i ng21\ng21dll, der laver en dll fil 2: Et i ng21 der laver applikationen.
Jag var nødt til at bruge en timer, den er sat til 50 ms i ng21dll.c, hvis det er for langsomt kan du prøve at sætte den ned, hvis programmet ikke virker kan du prøve at sætte den op.
Programmet bør også virke med andre kompilere end Borland, men jeg har ikke testet med andre.
Når jeg åbner projekterne med Borland C++ 6.0 skriver den at den har opdateret filer til 6.0, og derefter er de tomme...? Når jeg prøver at compile med Dev-C++ 4.9.8.0 for jeg nogle fejl, for eks. med dll'en: [Linker error] undefined reference to `WinMain@16'
Lige én ting til... ;-D Når mine venner vil køre applicationen, mangler den en dll fil, CC3260.dll Findes der en pakke jeg kan sende dem, som automatisk installerer alle disse ting?
Mener det gøres under: Project -> Options -> Link / Linkage -> Fjern FLueben ved: Use Dynamic Link og noget Andet Dynamic... Kan tjekke i morgen, da jeg ikke har Borland Builder på denne maskine!
Ikke inactivity, men idle... Altså hvis der ikke er nogen der rør computeren, den skal være ligelgad med msn som for eks. nok ville køre i baggrunden..
Man kan let check om brugeren flytter på musen eller trykker på en knap på musen eller trykker på en tast på tastaturet. Det er vist det pauseskærmen gør. Hvis du har lyst til at kikke på det skal du bruge SetWindowsHookEx(), du kan se i programmet fra før hvordan. Man slukker PC'en med ExitWindowsEx(). Der vil nok også være brug for en timer.
Men at finde ud af om PC'en arbejder med andet er vist svært.
Så, har jeg dog en forståelse for hvordan sådanne ting er opbygget, men skulle jeg have rettet fejl og lign. til jeg selv havde lavet programmet færdigt, ville denne side komme til at fylde noget lign. 50 KB... ;D
Ja, det er let at finde aktive vinduer, problemet er at der altid er en række active vinduer, så det er ikke let at finde ud af om der er nogen der skal forhindre nedlukning. Man kan også kikke på listen af aktive processer, men der er også altid en række processer der kører, så hvilke processer skal forhindre nedlukning?
Hmm.... Programmer som ligger i tray betyder intet, grunden til at jeg tænkte at den skulle lade vær' med at lukke, var hvis for eks. at nogen lige havde minimeret word, og holdt en pause....
Det checker kun for tastetryk og muse-bevægelser og -tryk. Der kommer en advarsel 15. sekunder før den slukker, så man kan nå at afbryde. Den kan minimeres til systray.
Får Fejlen: Compiling... ng27.cpp c:\documents and settings\admin\dokumenter\daniel\ng27\ng27.cpp(6) : fatal error C1083: Cannot open include file: 'psapi.h': No such file or directory Error executing cl.exe.
ng27.exe - 1 error(s), 0 warning(s)
Ved ikk om det er fordi at jeg brugt Microsoft Visual C++ istedet for Borland?
Problemet er sikket at du bruger VC++ i stedet for BorlandC. Min VC++ har heller ikke nogen psapi.h. Det er egentlig ikke noget probelem, psapi.h er ikke nødvendig.
Jeg forsøgte at lave et VC++ project, men jeg kan ikke finde ud af at kalde en function i en "dll" med VC++ :-(
Det lyder godt... Havde slet ikke regnet med så hurtig respons på en valg-dag, da de fleste jo sidder klinet til fjernsynet... :-) Jeg kan sagtens vente til imorgen.
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.