| |
Fortgeschrittene ProgrammierungNeuer Thread? | | | Autor: Gateway | Datum: 31.12.06 14:30 |
| Ich habe ein ocx indem ich eine Abfrage permanent machen, also in einer schleife die erst endet wenn das ocx objekt zerstört wird. Ich kann aber keine endlos schleife in den konstruktor schreiben^^. Das wäre dann wohl eher schlecht!
Da hab ich mir gedacht ich erstell nen neuen thread der alleien vor sich hin arbeitet.
Jedoch ist das Problem das dieser weder Daten an das ocx übergeben kann noch standart vb funktionen oder api`s nutzen kann und da ich etwas mehr als eine bisschen addieren und subtrahieren in diesem thread vorhab klapt das so nicht.
Wie kann ich das Problem lösen?
Wer Rechtschreibfehler findet kann sie behalten oder meinen Deutschlehrer verklagen.
In der Mitte von Schwierigkeiten liegen die M?glichkeiten. [Alber Einstein] | |
Re: Neuer Thread? | | | Autor: BAStler | Datum: 02.01.07 10:55 |
| Hallo Gateway,
was soll der Thread machen? Daten bekommen, oder nur liefern?
Selbe Programmiersprache, oder eine andere?
Gruß BAStler | |
Re: Neuer Thread? | | | Autor: Gateway | Datum: 02.01.07 14:53 |
| Der thread soll eine in vb geschriebene function sein, die daten in einer schleife von einer api bekommt und diese dann auf irgendeine weise an das hauptprogramm übergibt, ob nun per event oder durch den aufruf einer sub/function.
Wer Rechtschreibfehler findet kann sie behalten oder meinen Deutschlehrer verklagen.
In der Mitte von Schwierigkeiten liegen die M?glichkeiten. [Alber Einstein] | |
Re: Neuer Thread? | | | Autor: BAStler | Datum: 02.01.07 21:07 |
| Hallo Gateway,
die API die deinen Rechner scannt, sollte schon im Programm sein, da es ja der Hauptteil deines Projektes ist. Ich gehe mal davon aus, weil das andere Posting von dir in dieselbe Richtung geht.
Ich hatte auch schonmal den Gedankengang in die Richtung, weil mein Rechner Krach (Prozessorlast) machte und ich nix am Arbeiten war, nur im Internet etwas am Lesen. Dazu müßtest du aber wahrscheinlich sehr Prozessorientiert proggen und richtig ins System einsteigen. Habe es mal versucht, dabei kam eine Art Taskmanager heraus, den ich auch im Programm DosShell integriert habe. War mir aber nicht so recht schlüssig, was ich alles auswerten sollte.
Wie du selbst schon geschrieben hast, nur den Namen macht wenig Sinn.
Falls du das Projekt trotzdem realisieren willst, kannst du dich gern wieder melden?
Gruß BAStler | |
Re: Neuer Thread? | | | Autor: Gateway | Datum: 02.01.07 21:59 |
| Meine erste idee war eigentlich richti lame und schwachsinnig, ich habe sie auch realisiert...
Ich habe bereits ein Programm geschrieben das dir die tasks anzeigt und du in einer listcheckbox wählen konntest was laufen darf und was nicht.
Leider war das design katastrophal, der Quellcode undurchsichtig und kein bisschen objektorientiert. Jetzt hab ich quasi die zweite version die besser werden soll.
Ich arbeite nach dieser Methode (vergessen^^), bei der man permanent (z.b. timer) diese api aufruft und auswertet ob neue prozesse entstanden sind und gegebenen falls per api beendet.
Ist einen sehr dämlich idee und sie weißt zahlreiche probleme auf. Da es aber schwerer ist es wie im anderen post beschrieben mit einer neuen methode (z.b. hooking) zu machen wollte ich diese Lamer methode einfach der einfach heit halber nochmal probieren desshalb dieser post.
Aber im endeffekt will ich ein Programm das bei enstehung eines neuen Prozesses "informiert" wird und die entstehung gegebenenfalls verhindern kann.
Und da hast du recht da müsste ich mich ins system einarbeiten.
aber Prozessororientiert? Ich schreibe keine assemblerprogramme und ich denke das man so tief nicht zu gehen braucht. Möglicherweise ist es nicht mit vb zu realisieren aber alle mal mit c++. Wie gesagt ich hätte eine Idee die aber schwer umzusetzten wäre.
Wenn du interesse hättest könnten wir mal gemeinsam überlegen.
Wer Rechtschreibfehler findet kann sie behalten oder meinen Deutschlehrer verklagen.
In der Mitte von Schwierigkeiten liegen die M?glichkeiten. [Alber Einstein] | |
Re: Neuer Thread? | | | Autor: Mahobi | Datum: 06.01.07 16:24 |
| Wenn dein Programm "informiert" werden soll würd sich eventuell ein Hook anbieten.
Da müsstest du dich dann nicht mal mehr mit irgendwelchen Schleifen runschlagen.
Hab aber keine Ahnung, ob man Windows beim Erstellen von Prozessen Hooks unterschieben kann.
Ich denke aber mal, das könnte gehen, weil man z.B. mit einigen Firewalls auch das Starten von Programmen unterbinden kann. Vielleicht benötigt man dazu aber auch API-Hooking.
Unabhängig davon müsste man die Hooks aber wohl mit C/C++ programmieren, da Systemweite Hooks nur in normalen DLLs sein können.
Ne andere Möglichkeit wäre ein Timer, der alle paar Millisekunden prüft, ob Programme gestartet wurden und diese dann gegebenfalls beendet. Das ist wohl die einfachere Möglichkeit. Mit API-Hooks hab ich noch nie was gemacht.
Gruß
Mahobi | |
Re: Neuer Thread? | | | Autor: Gateway | Datum: 06.01.07 16:51 |
| die timer-methode hab ich schon benutzt. Die is mir einfach programmiertechnisch zu schlecht und ich halte nichts von pooling. Ich wollte das schon mit nem hook machen, Problem:
Ich müsste erstmal eine api herausfinden die immer beim starten von anwendungen genutzt wird, z.b. shell. und dann müsste ich einen systemweiten api-hook einsetzen ... das ist schwer umzusetzen
Wer Rechtschreibfehler findet kann sie behalten oder meinen Deutschlehrer verklagen.
In der Mitte von Schwierigkeiten liegen die M?glichkeiten. [Alber Einstein] | |
Re: Neuer Thread? | | | Autor: Mahobi | Datum: 06.01.07 19:36 |
| Wenn das mit dem API-Hook geht, würde ich CreateProcess (ist direkt in der kernel32.dll) nehmen, da müsste man alle Prozesse erfassen können.
Nur zu Systemweiten API-Hooks wird man net so leicht an Infos kommen, da man das auch gut verwenden kann, um Rootkits zu programmieren.
Gruß
Mahobi | |
Re: Neuer Thread? | | | Autor: Gateway | Datum: 06.01.07 19:40 |
| Mit den informationen hasste recht^^
Was du mit der createprocesse api meinst hab ich nicht so ganz verstanden, aber das ist eh irrelevant solange man nicht weiß wie man nen globalen api-hook hinkriegt. Ich würde diese infos aber auch keinem geben der fragt^^ Denn wenn auf einmal jedes script-kiddie seine eigenen globalen-api-hooks installieren kann... oje
Naja, muss man eben lernen und suchen
Wer Rechtschreibfehler findet kann sie behalten oder meinen Deutschlehrer verklagen.
In der Mitte von Schwierigkeiten liegen die M?glichkeiten. [Alber Einstein] | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|