vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Neuer 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]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel