AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Alle Prozesse bis auf einen einfrieren

Ein Thema von Delphi-Narr · begonnen am 7. Dez 2009 · letzter Beitrag vom 7. Dez 2009
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 19:46
Hallo, ich möchte ein Programm haben, dass alle Prozesse einfriert, die nicht zum laufen des eigenen Programms nötig sind. Alternativ soll es den Computer sperren, also das Programm kann nur beendet oder ähnliches werden, wenn der Nutzer ein Passwort eingibt.
Ist das irgendwie möglich?
Liebe Grüße!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 19:50
Hi,

Was mir dazu eingefallen ist, wäre evtl. MSDN-Library durchsuchenSuspendThread/MSDN-Library durchsuchenResumeThread. Vorher müsstest du dir natürlich noch alle Thread-Handles holen die du bekommen kannst. Gibts auch irgendwie Funktionen für.

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#3

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 20:01
Und wie willst du feststellen, daß ein Prozess nicht nötig ist und angehalten werden kann?

PS: viele Prozesse sind eh zum Großteil schon in einem Pausemodus.


Am Ende hältst du z.B. einen Systemprozess an, welchen dein Programm braucht und dann wartet dein Programm auf diesen Prozess, welcher natürlich nicht antwortet und dir friert der gesamte PC ein.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 20:03
Ich möchte halt nur ein Programm, dass den Computer sperrt. Sodass es sich überall drüber schaltet und nicht beendet werden kann.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 20:03
Zitat von himitsu:
Am Ende hältst du z.B. einen Systemprozess an, welchen dein Programm braucht und dann wartet dein Programm auf diesen Prozess, welcher natürlich nicht antwortet und dir friert der gesamte PC ein.
No Risk, No Fun
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#6

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 20:28
Ein sehr sehr komischer Ansatz. Darf man fragen, in welchem Kontext sowas sinnvoll ist?
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 20:33
Zitat von wicht:
Ein sehr sehr komischer Ansatz. Darf man fragen, in welchem Kontext sowas sinnvoll ist?
Das einzige, was ich mir vorstellen könnte wäre ein Computer der an irgendeinem öffebtlichen Ort steht und bei dem eine Applikation (z.B. ein Informationssystem) läuft und nicht beendet werden soll. (Stickwort "Kioskmodus")

Aber gabs da nicht irgendeine "offizielle" Möglichkeit die nicht so nach "Hack" aussieht?
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 20:46
soll so eine Art DesktopLock sein...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 21:54
Zitat von Alfi001:
Aber gabs da nicht irgendeine "offizielle" Möglichkeit die nicht so nach "Hack" aussieht?
Ja gibt es. Sogar offiziell von MS und kostenlos.

Zitat von Delphi-Narr:
soll so eine Art DesktopLock sein...
Dann ruf MSDN-Library durchsuchenLockWorkStation auf und fertig.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#10

Re: Alle Prozesse bis auf einen einfrieren

  Alt 7. Dez 2009, 23:14
Hallo Delphi-Narr, da ich in meinem Bekanntenkreis immer wieder mit hartnäckigen
Schädlingen konfrontiert bin, habe ich mir mal ein eigenes Kill util geschrieben.
Da verwende ich die Technik, bei allen nicht zum System gehörenden Prozessen, deren Threads
zu suspendieren. Geht auch bei den meisten Systemprozessen. Wenn dann alles konserviert ist,
beginnt die Ausmisterei.

Also interessieren dürfte dich die Funktion:

Delphi-Quellcode:
function TProcList.SecureKill: boolean;

...

          //-- Bei Winlogon.exe threads suspendieren
          if (filename = 'winlogon.exe') then begin
            dwArray := GetThreadID(filename);
            for x := 0 to Length(dwArray) - 1 do begin
              hThread := OpenThread(
                THREAD_GET_CONTEXT or THREAD_SET_CONTEXT or THREAD_SUSPEND_RESUME, false,
                  dwArray[x]
                  );
              if hThread <> 0 then SuspendThread(hThread);
            end;
          end;
Source der Classe ist beigefügt.

lg. Astat
Angehängte Dateien
Dateityp: pas process_180.pas (19,8 KB, 10x aufgerufen)
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz