Moonscape Skrevet 6. januar 2004 Del Skrevet 6. januar 2004 Jeg vil gjerne lage et C++ script som åpner et program og deretter f.eks. skriver noe i det.. (Kan ta Notepad som et eksempel.) Problemet er bare at jeg ikke vet hva jeg skal skrive for å få åpnet et program som ligger et sted på harddisken... Hva skal jeg skrive hvis jeg vil at det Scriptet skal åpne et program eller spill på harddisken!? Et lite eks så dere skjønner hva jeg mener: #include <iostream.h> #include <stdlib.h> int main() { int Run() Run(G:/etellerannet/etprog.exe); system("PAUSE"); return 0; } Er 100% klar over at det der ikke fungerer .. så det er derfor jeg spør hva jeg skal gjøre på forhånd takk. Lenke til kommentar
Moonscape Skrevet 6. januar 2004 Forfatter Del Skrevet 6. januar 2004 Hundre tusen takk!!!!! Nå er jeg skikkelig glad hehe... akkurat begynt å lære meg C++ og ikke kommet så langt i boken min.. Men nå er jeg ihvertfall motivert til å fortsette Thx for fast reply!!! (kommer sikkert til å spørre hvis det er noe mer jeg lurer på ) Lenke til kommentar
moesen Skrevet 6. januar 2004 Del Skrevet 6. januar 2004 Den "system ("blablabla");" kommandoen kan brukes til alt som har med DOS og gjøre også eller? F.eks gå til en mappe; "system("cd C://spill"); system("cd counter-strike");" kommer jeg inn i counter-strike mappa da? Lenke til kommentar
Moonscape Skrevet 6. januar 2004 Forfatter Del Skrevet 6. januar 2004 (endret) Jeg har faktisk et spørsmål til som du kanskje kan svare på hehe... Hva skal jeg skrive for å få scriptet til å sende keys som for eksempel "Enter", "F1-F12", "Tab" og alle de vanlige bokstavene fra "a" til "å" (a-z blir det vel kanskje men...) ? Oi glemte en ting:: hva skal jeg skrive for å få Scriptet til å stå stille i f.esk 3 sekunder før det begynner med neste kommando? ( system(Sleep(3)) ellerno? ) Endret 6. januar 2004 av Moonscape Lenke til kommentar
moesen Skrevet 6. januar 2004 Del Skrevet 6. januar 2004 Takk for svar, tror den åpning av programmer og slikt er litt vanskelig for meg enda. Så jeg prøver meg på det en gang siden. Lenke til kommentar
Moonscape Skrevet 6. januar 2004 Forfatter Del Skrevet 6. januar 2004 (endret) Vanlige konsoller (DOS) og lignende er ikke laget for slikt Ok så det vil altså si at jeg ikke kan lage et program som åpner f.eks Notepad, deretter skriver noe I notepad og lukker programmet?... (sry for at jeg spør så mye! men er ganske ny på området ) Som regel er det like greit å vente med å lese "key-press'es" til man har begynnt på grafiske (GUI) programmer med vinduer og knapper og sånnt. Ok da får jeg vel nesten vente med det hehe ... Har spurt om en del ting nå men føler at jeg må spørre om hva jeg må/bør lære før jeg begynner med grafiske programmer osv.. hva er forresten (GUI)? har sett det stå en del plasser, men aldri riktig skjønt hva som menes med det.. !? er det noe nytt man må lære seg utenom C++ for å kunne bruke "key-press'es" OSV? EDIT: ehehe ja var egentlig det jeg mente Endret 6. januar 2004 av Moonscape Lenke til kommentar
Moonscape Skrevet 6. januar 2004 Forfatter Del Skrevet 6. januar 2004 Okey takk for all hjelpen Lenke til kommentar
Torbjørn Skrevet 7. januar 2004 Del Skrevet 7. januar 2004 eh, en liten diskresjon: skiller c++ mellom " og '? (doble og enkle fnutter?), slik at man kanskje kunne sluppet å escap'e '\' i systemkall? Lenke til kommentar
kjetil7 Skrevet 8. januar 2004 Del Skrevet 8. januar 2004 (endret) For å få programmet til å vente i 3 sek. i Windows bruker du Sleep() funksjonen. Den kan du bruke ved å inkludere windows.h og linke kernel32.lib (sannsynligvis allerede gjort). #include <windows.h> int main() { Sleep(3000); //venter 3000 millisekunder } Du kan også bruke system kallet på såkalte GUI programmer. Det er mindre forskjell på "vanlige" win32 applikasjoner og GUI applikasjoner enn de fleste kanskje tror. F.eks. system("notepad.exe") Endret 8. januar 2004 av kjetil7 Lenke til kommentar
Moonscape Skrevet 13. januar 2004 Forfatter Del Skrevet 13. januar 2004 Da jeg spurte noen andre på diverse andre forum sier de at det faktisk er mulig å Sende Keys osv ved hjelp av SendInput ... De gav meg link til denne siden: DENNE HER Problemet er bare at jeg ikke skjønner helt hva jeg skal legge i scriptet mitt for å få dette til å fungere . Skjønner du hvordan!? legg det inn i scriptet mitt slik at det virker hvis du får det til hehe... (da er det enklere for meg å se hvordan det faktisk fungerer) Lenke til kommentar
Tassax Skrevet 14. januar 2004 Del Skrevet 14. januar 2004 Eh. Ettersom jeg skjønner av tidligere innlegg i denne tråden virker du ganske fersk i c++. Og du bør kanskje fokusere på å lære mer før du går til skrittet og bruker Windows API. Det du tenker på (SendInput) er et Windows API-kall. For dette kallet må du linke mot user32.lib, og includere windows.h i prosjektet ditt (du sier ikke noe om hvilken kompilator du bruker). + noen #define og kanskje også flere biblioteker. Husker ikke helt i farten. Også snakker du om skript. Vel du mener vel kildekoden din. C++ er ikke skripting - skripting forbindes gjerne ikke med c++ kildekode. Lenke til kommentar
Moonscape Skrevet 14. januar 2004 Forfatter Del Skrevet 14. januar 2004 Har tenkt til å lære meg C++ grundig ja... Men har veldig bruk for den der funksjonen. Det er derfor jeg spør. Altså for å finne ut om C++ virkelig er noe for meg... Og siden det faktisk er mulig som jeg har fått svar på nå, er jeg ganske sikker på at jeg vil lære dette! **Lese mer i boken nå hehe** Lenke til kommentar
Giddion Skrevet 15. januar 2004 Del Skrevet 15. januar 2004 Det hadde vært fint om du kunne si hva du skal bruke SendInput til , men du kan jo vurdere SendMessage som virker enklere i bruk og kan gjøre akkurat det samme som SendInput (virker det som) Linken Lenke til kommentar
☀ ❄ Skrevet 24. januar 2004 Del Skrevet 24. januar 2004 Du har et litt bruker-vendt syn på å skrive tekst til en fil, og tenker ikke helt som en programmerer. Som en bruker må du åpne notisblokk (e.l.) for å redigere en fil, mens du som programmerer kan "simulere" notisblokk. Det finnes to måter, den ene litt enklere enn den andre, og den andre litt mer anvendelig enn den første. // Metode 1 // Bruker shell-kommando #include <iostream> #include <cstdlib> int main() { using namespace std; // Lager en system-kommando, // echo Hello >> myfile.txt, som // skriver "hello" inn på slutten av // myfile.txt system("echo Hello >> myfile.txt"); return 0; } // Metode 2 // Bruker filestreams #include <iostream> #include <fstream> int main() { using namespace std; // Instansier en output-filestream (ofstream) // Dette skriver til filen. For å lese fra en fil // benytter du deg av en ifstream. ofstream output("myfile.txt"); if (!output.good()) { cerr << "Unable to open myfile.txt for reading.\n"; return 1; } // Skriv Hello til filen vår. output << "Hello\n"; // Lukk igjen output-filestream'en, // for sikkerhets skyld. output.close(); return 0; } PS: " " er av typen const char* (C-style string), mens ' ' er av typen char. Lenke til kommentar
☀ ❄ Skrevet 24. januar 2004 Del Skrevet 24. januar 2004 Vel, han spør om "hvordan åpne et program, for eksempel notisblokk", og han spør om hvordan han kan simulere tastetrykk. Høres ut som om han vil skrive til en fil.. Og du har absolutt rett, Windows forderver brukere. En bekjent fortalte meg en gang at hun skrev liste over mp3-filene sine, for hånd. Alle som har brukt Linux skjønner at det er bedre å skrive ls *.mp3 > mp3.txt evt. dir /B *.mp3 > mp3.txt Lenke til kommentar
Moonscape Skrevet 24. januar 2004 Forfatter Del Skrevet 24. januar 2004 Var faktisk noe slikt jeg hadde tenkt på ja ... Bare at jeg også ville kunne sende tastetrykk slik som man kan i AutoIt. Der skriver man f.eks bare : LeftClick(X-Verdien,Y-Verdien) og RightClick(X-verdien,Y-verdien) + Tastaturtrykk: SendKey({F4}) omtrent noe slikt Men det Myubi sier her hjelper meg nok ihvertfall et stykke på vei! Takk! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå