Program ulatwiajacy

0

czesc wszystkim

czy w c# jest mozliwosc stworzenia programu, ktory sprawdza ekran uzytkownika dopoki nie pojawi sie na nim wiadomosc i w zaleznosci od tej wiadomosci naciska odpowiednia ilosc razy klawisz (okolo 5 mozliwosci)??
mowiac wprost, w grze pojawia sie wiadomosc np nacisnij 6 razy enter itd.
glownie chodzi mi jak przechwycic ta wiadomosc zeby program wiedzial ile razy nacisnac klawisz.
Jest to wykonalne? w czym powinienem szukac rozwiazania?
prosze o pomoc, poniewaz nie mam pojecia jak to zrobic

0

wiadomość na ekranie Windows ( jak sama nazwa wskazuje oparta jest na okienkach gdybyś nie pamiętał bo to się zdarzyć może każdemu więc Ci przypomniałem li tylko )... w ięc komuniakt od gry czy jakiegokolwiek innego programu pojawić się może jedynie w okienku GUI które posiada swój tzw. uchwyt HANDLE o ile ja dobrze to pojąłem bo czasem też mam jakieś problemy co już wiem a czego nie wiem choć powinienem to też jest normalne, iż jesteśmy na różnym poziomie wiedzy i doświadczenia dlatego pytaj bo żadne pytanie nie jest głupie ! no i w języku takim jak Cplus (ale i C# można chyba też ?) można taki uchwyt tego okienka uzyskać bardzo prosto i zrobić z tym okienkiem cokolwiek jak ten uchwyt czyli dostęp do tego okienka już byś za pomocą tego uchwytu uzyskał a więc mógł odczytywać treść komunikatu w nim pokazanego...Nikodem

0

aha, czyli szukac informacji na temat tych handle? dzieki za naprowadzenie :).

ta informacje wyswietla sie w grze na czacie, zawsze jest taka sama tylko zmienia sie liczba, np nacisnij 3 razy enter, nacisnij 5 razy enter itp.

1

za pomocą DLLImport można w C# użyć bibliotek API 32 bit bez konieczności pisania w języku Cplusplus...
dla książki Joe Duffy .NET Framework 2.0 chyba można jeszcze pobrać plik towarzyszący netfra.zip z helion.pl

traktujący to serwis w Internecie o używaniu plików dll 32 bit INTEROP który Ci to umożliwia
tylko nie mam linku do niego... szukałem ale nie mam i może Ktoś inny Ci to podpowie...

0

ok dziekuje, zaczynam poszukiwania :)

jesli ktos ma jeszcze jakis pomysl to prosze bardzo o pomoc.

0

http://pinvoke.net/ masz opisy metod czy nawet w cplusplus to nazywają się jeszcze funkcjami... które można używać zawarte w różnych plikach dll API 32-bit

0

Szczerze, nie wiem czy sobie poradze, jestem w miare swiezy w temacie programowania. Podnioslem sobie wysoko poprzeczke, bo przynajmniej jest jakas motywacja, ze to co robie bedzie w jakis sposob przydatne dla mnie. Jesli macie jakies rady to prosze pisac, jestem poczatkujacym i naprawde wszystko mi sie przyda oraz wplynie pozytywnie na moj rozwoj w programowaniu :)

A panu wyżej jeszcze raz dziekuje za zaangazowanie, zaraz zaczne probowac cos z tych rzeczy tworzyc.
Tak jak pisalem, licze jeszcze na Wasze wskazowki.

0

to jest programik mój do zamykania okienek Windows Vista co mi sam Microsoft wskazał abym te natarczywe okienka sam se usuwał lub zamykał... po 10ciu aktywacjach systemu Windows pomimo legalności systemu operacyjnego już aktywacja jest niemożliwa i zrobiłem taki programik który w całości kod w C# jest poniżej

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;//JM-05-20  - 126

namespace JM_05_20
{
    public partial class Form1 : Form
    {
        [DllImport("User32.dll")]
        private static extern int FindWindow(string nazwaKlasy, string nazwaOkna);
        [DllImport("User32.dll")]
        private static extern IntPtr SendMessage(int hwnd, uint Msg, int wParam, int lParam);//
        private const int WM_CLOSE = 0x0010;

        public Form1()
        {
            InitializeComponent();
        }
        protected override void WndProc(ref System.Windows.Forms.Message m)
        {
             int uchwyt = FindWindow(null, "Windows Activation");//textBox1.Text);
      //      if(uchwyt==0)
        //        MessageBox.Show("Nie ma okna o tytule \"" + textBox1.Text +"\"");
          //  else{
            //    MessageBox.Show("Uchwyt pierwszego znalezionego okna o tytule \""+textBox1.Text +"\" to "+uchwyt.ToString());



                if (uchwyt!=0)//"Windows Activation" == textBox1.Text)//Optional update delivery is not working
                    //ShowWindow(uchwyt, SW_HIDE);MF-084
                    SendMessage(uchwyt, WM_CLOSE,0,0);//



 int uchwyt2 = FindWindow(null, "Optional update delivery is not working");//textBox1.Text);
         //   if(uchwyt2==0)
           //     MessageBox.Show("Nie ma okna o tytule \"" + textBox1.Text +"\"");
            //else{
              //  MessageBox.Show("Uchwyt pierwszego znalezionego okna o tytule \""+textBox1.Text +"\" to "+uchwyt.ToString());



                if (uchwyt2!=0)//"Windows Activation" == textBox1.Text)//Optional update delivery is not working
                    //ShowWindow(uchwyt, SW_HIDE);MF-084
                    SendMessage(uchwyt2, WM_CLOSE,0,0);//



            base.WndProc(ref m);
        }
        private void Form1_MouseClick(object sender, MouseEventArgs e)
        {
            Close();//nyga
        }
#if false
        private void button1_Click(object sender, EventArgs e)
        {
            int uchwyt = FindWindow(null, "Optional update delivery is not working");//textBox1.Text);
            if(uchwyt==0)
                MessageBox.Show("Nie ma okna o tytule \"" + textBox1.Text +"\"");
            else{
                MessageBox.Show("Uchwyt pierwszego znalezionego okna o tytule \""+textBox1.Text +"\" to "+uchwyt.ToString());



                if (uchwyt!=0)//"Windows Activation" == textBox1.Text)//Optional update delivery is not working
                    //ShowWindow(uchwyt, SW_HIDE);MF-084
                    SendMessage(uchwyt, WM_CLOSE,0,0);//

            }
        }
#endif
        }
    }

może uda Ci się wykorzystać... program znajduje określone okienko w systemie Windows i je zamyka...

0

taka konstatacja moja... liczę na to, iż kiedyś to może się zmieni na tym Forum... jest takie codeproject.com oraz geek.pl co gotowe projekty zamieszczają i sobie można pobierać.. tutaj jedynie można Kolegów obu płci naciągnąć li tylko na jakąś wskazówkę... za Ciebie Nikt żadnej roboty nie wykona zanczy gotowego projektu ani nawet za bardzo wnikać do czego Ci to o co pytasz jest potrzebne i musisz się z tym pogodzić ! raczej szybko ucz się zadawać bardzo precyzyjne zapytania i bardzo proste znaczy rozkładaj problem na fragmenty będzie nam o wiele łatwiej Ci co podpowiedzieć a po cichutku mam nadzieję, iż też wkrótce będziesz próbował jako ja powyżej wkleić jakiś projekt aby Inni Koledzy mieli gotowca do użycia a nie tylko jakiś wątek pozostał może nawet bez żadnego zakończenia...Nikodem

0

Azarien mi chyba kiedyś to podpowiedział...

masz tu jeszcze kawałek aby Ci komunikat dźwiękowy powiedział po polsku że okienko na które czekasz już jest na ekranie...
ja komunikaty słowne przygotowuję za pomocą syntezatora ivona www.expressivo.pl bodajże...
IVONA Reader Simply The Best Text-to-Speech Reader Order Now.htm

                //
                #region komunikat 06-Delete FTP-baba-1.zip
                //System.Media.SystemSounds.Beep.Play();
                //System.Media.SystemSounds.Exclamation.Play();//.Beep.Play();
                //I:\N E T - 1 --- C++ - C#\dźwiękZZasobów\dźwiękZZasobów
                //
                //using System.Media;//JM-070 using System.Media;// JM-075  dźwięki
                //using dźwiękZZasobów.Properties;
                //
                
                System.IO.Stream s06 = null;
                s06 = baba_160.Properties.Resources._06_delete_ftp_baba_1_zip;//_baba1501.Properties.Resources._06_delete_ftp_baba_1_zip;
                System.Media.SoundPlayer simpleSound06 = new System.Media.SoundPlayer(s06);
                simpleSound06.Play();//                      zspacjaw
                                     /**/
                #endregion

1 użytkowników online, w tym zalogowanych: 0, gości: 1