Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#15

AW: TerminateProcess geht nicht die Zweite

  Alt 25. Jun 2011, 00:26
Ok, auch wenn es Offtopic in bezug auf den Threadtitel ist...es ist ja noch der selbe Fall...

1. Hängt sicherlich etwas damit zusammen, was Du unter Treiber-DLL bzw. System-DLL meinst.
Ist es ein richtiger Treiber, sicherlich nicht.
Ich meine ein Datei in C:\Windows\System32 es ist kein Treiber nur eine DLL die systemweit und von jeder X beliebigen Anwendung - oder auch Dienst - benutzt werden können sollte. Ist eben eine Capi2032.dll von Shamrock und dazu gibt es irgendwie zwischen 16Kb und 32Kb Opensource C++ Code... ich verwende die ja auch...aber ich muss mich nicht auf das dauerhafte Funktionieren dieser Geschichte verlassen...

CAPI ist für schon so die Schnittstelle zur ISDN-Karte...sollte eigentlich(wenn es verkauft werden würde und nicht umsonnst Opensourcezeug ist) mit der selben Sorgfallt und Misstrauen gegenüber den Randbedingungen programmiert sein wie ein Treiber.

Meinst Du aber nur die Funktionalität - kann ja sein, daß die auch in einer normalen Anwendung eingebunden werden kann/soll. Dann ist es nur noch schlechter Stil Zudem lassen sich System Services per Flag auf "interaktiv" setzen. In älteren Windows-Versionen (Windows 2000?) war dieses Flag evtl. nicht notwendig, später kam es aus Absicherungsgründen hinzu (Prozesse mit Systemrechten sollten nicht direkt über das UI mit dem Benutzer kommunizieren).
Das wäre leider keine lösung...aber da es Opensource ist...vielleicht werde ich mal in nem C++ board betteln das jemand mir den code ohne "::MessageBox" kompiliert...habe hier keine IDE dafür und betteln ist schneller als mich mit ner gnu C++ und Eclipse oder MS C++ und VS ... rumzuschlagen.
Es ist jetzt nicht WIRKLICH entscheidend, aber es wäre sicher von Vorteil für so manchen wenn es das Projekt so gäbe das es auch in Diensten funktioniert....
(Ich bereite morgen mal nen freundlich Text vor und Kommentiere die MessageBoxen aus)

2. "Einfacher" wäre es vermutlich, die MessageBox-Funktion innerhalb des Prozesses zu hooken und so einfach zu ignorieren (oder, um's ganz fein zu machen, ins Eventlog umzuleiten). Dazu gibt's hier in der DP glaub ich auch Beispiele
Vermutlich nicht "Einfacher", aber da ich ja im Prinzip immer damit rechnen muss das irgendwelche von meinen Diensten genutzten Treiber oder Bibliotheken oder sonnst etwas eine MessageBox werfen kann, würde es wohl der Stabilität des Produktes entgegenkommen, wenn ich den von dir vorgeschlagenen Weg einschlage.

Muss also was über Hooks lernen *nicht will*
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat