Autor Beitrag
Pendergast
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mi 13.11.02 17:42 
Ist es möglich ein Programm mit aktiven Fenstern (also nicht minimiert oder im Tray) auszuführen, ohne dass es dabei in der Taskleiste sichtbar ist.

THX
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Mi 13.11.02 18:31 
Schau Dir mal diese Links an, vielleicht helfen Dir die weiter ?

...das Programm von der Taskliste(Ctrl+Alt+Del) verstecken?:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:

  This example runs only under Windows 95/98 
  Dieses Beispiel läuft nur unter Windows 95/98 
}
 

implementation 

function RegisterServiceProcess(dwProcessID, dwType: DWORD): DWORD; 
  stdcallexternal 'KERNEL32.DLL'

// hide, verstecken 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  RegisterServiceProcess(GetCurrentProcessID, 1); 
end

// show again, wieder anzeigen 
procedure TForm1.Button2Click(Sender: TObject); 
begin 
  RegisterServiceProcess(GetCurrentProcessID, 0); 
end;


...ein Programm von der Taskbar verstecken?:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
procedure TMainForm.FormShow(Sender: TObject); 
var 
  hwndOwner: HWnd; 
begin 
  hwndOwner := GetWindow(Handle, GW_OWNER); 
  ShowWindow(hwndOwner, SW_HIDE); 
  // For Windows 2000, additionally call the ShowWindowAsync function: 
  ShowWindowAsync(hwndOwner, SW_HIDE); 
  ShowWindowAsync(Self.Handle, SW_HIDE); 
end


  Prevent the form from reappearing on the Taskbar after minimizing it: 

  Verhindern, dass nach einem Minimize die Applikation wieder in der Taskbar 
  erscheint: 
}
 

private 
  procedure WMSysCommand(var msg: TWMSysCommand); message WM_SysCommand; 

{....} 

implementation 

procedure TMainForm.WMSysCommand(var msg: TWMSysCommand); 
begin 
  if msg.CmdType and $FFF0 = SC_MINIMIZE then 
    hide 
  else 
    inherited
end;


Moderiert von user profile iconTino: Sourcecode eingefügt.
Pendergast Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 14.11.02 09:52 
Danke genau das hatte ich gesucht.
Die Codes scheinen auch zu funzen.

Nur leider lässt sich das Programm nur vor dem 98er Task-Manager verbergen und nicht bei Win2000. Aber das ist wahrscheinlich aus Sicherheitsgründne auch gar nicht möglich
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 14.11.02 10:11 
Endlich mal jemand der die Dinge akzeptiert wie sie sind.
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Fr 29.11.02 10:26 
Titel: jow, geht glaub doch in win 2k
äm, ich hab das auch mal gesucht, und ich hab schlussendlich einen Code gefunde, der aus dem Hauptprogramm-Fenster einfach ein Tool-Window macht...und ToolWindows sind nie sichtbar in der Taskleist und das funzt auch unter NT4, Win 2k und somit garantiert auch auf win98. Geh einfach auf Project->ViewSource und dort fügst du zwei Zeilen Code ein:
(ich bin mal nett und zeige euch den ganzen code :wink: )
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
program YourApp;

uses
  Forms,
  Windows,
  ServerMain in 'ServerMain.pas' {Form1},
  Codec in 'Codec.pas';

{$R *.res}
var
   ExtendedStyle : Integer;

begin
  Application.Initialize;

  //Get the Extended Styles of the Application, by passing its
  //handle to GetWindowLong
  ExtendedStyle := GetWindowLong(Application.Handle, GWL_EXSTYLE);

  //Now, set the Extended Style by doing a bit masking operation.
  //OR in the WS_EX_TOOLWINDOW bit, and AND out the WS_EXAPPWINDOW bit
  //This effectively converts the application from an App Windows to a
  //Tool Window.
  SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle OR WS_EX_TOOLWINDOW
                                                 AND NOT WS_EX_APPWINDOW);

  Application.Title := 'Naja, eben der Titel deiner App';
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

also ganz wichtig sind, dass du bei den uses Windows hinzugügst und die variable ExtendedStyle nicht vergisst ;-)

_________________
...and You will Know us By the Trail of Death.....
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 29.11.02 15:43 
Er hat vom Taskmanager geredet! Und das Programm taucht auch mit deinem Code bestimmt noch im Taskmanager auf.
Pendergast Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mo 02.12.02 09:47 
Ja das Task-Manager Problem bleibt natürlich aber der Code von Jebaz hat einen Vorteil gegenüber dem weiter oben gelinkten. Das Fenster kommt nicht in die Taskbar zurück auch wenn das Fenster minimiert wurde und dann über ALT + TAB wieder nach vorne geholt wird, das war bei dem anderen Beispiel nicht so.

Danke.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 02.12.02 11:36 
Die Lösung über ein Toolwindow halte ich für unsinnig. Sorry, ist meine Meinung, weil dadurch IMO die Form-Einstellungen bezüglich der Buttons (Minimieren, Maximieren) geändert werden.
Ich finde es ganz gut, dass Programme über die Taskbar erreichbar sind. Das ist doch schließlich der Zweck dieser Leiste. Was soll ich von einem Programm halten, dass ich mir -im allgemeinen Fenstergewirr!- erst mal raussuchen muss.
Alles minimieren (WIN+D) und dann gezielt den Button des Programms aus der Taskbar holen, geht in dem Fall ja auch nicht.

Solche Programme haben auf meinem Rechner keine lange Lebensdauer. So wie die, die sich beim Beenden partout nicht beenden wollen ... :roll:

Moderiert von user profile iconTino: Off-Topic entfernt.
Pendergast Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mo 02.12.02 13:37 
Der Sinn und Zweck des Ganzen ist es den Programmstart zu beschleunigen (bzw. es so aussehen zulassen). Das Programm wird beim Windowsstart unsichtbar vor Taskleiste Task-Manager und mit invisible Fenstern gestartet (dauert etwa 2Min). Wenn der User jetzt die (fake-)exe startet werden die Fenster visible und es erscheit in der Task-leiste.
Da das Programm auch andere Programme startet und wärenddessen nicht geschlossen werden soll, wird es in einem solchen Fall wieder unsichtbar.
Ich hoffe das war verständlich!

Moderiert von user profile iconTino: Off-Topic entfernt.
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Mo 06.01.03 17:45 
Titel: In TOPIC
jow jow jow, nochmals zurück zu diesem Programmtechnischen Problem. Also Luckie sagte, es gehe ja um den Taskmanager....nun ja, sorry, ich hab mal wieder nicht genau gelesen (alte Informatiker-krankheit)

sorry, bin nun zu faul um sein Zitat hier einzubinde, wie ihr das immer so schön macht...nun, äm, hei, wenn man beim Applikations-Titel einfach schreibt '' ( :D ) also, richtig gelese :wink: einfach "nichts" nada, vieleicht ein Leerschlag...dann ist der Applikationstitel im Taskmanager ebenfalls nichts :roll: nun, ok, ich glaub, das funzt nur in win2k und das zweite Problem ist, mann sieht, wenn nach diesem Programm noch anderes gestartet wird (was eigentlich immer der fall ist) einfach einen Phantom-eintrag....find ich aber trozdem angebracht, diesen Quatsch hier noch loszuwerden 8)

_________________
...and You will Know us By the Trail of Death.....
Jebaz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 44

Win NT 4, Win XP, Linux
Delphi 7.0
BeitragVerfasst: Mi 16.07.03 12:09 
Titel: on topic
MathiasSimmack hat folgendes geschrieben:
Die Lösung über ein Toolwindow halte ich für unsinnig....
Was soll ich von einem Programm halten, dass ich mir -im allgemeinen Fenstergewirr!- erst mal raussuchen muss.


Nun, für gewisse Programme macht das sogar verdammt viel sinn...ich brauchte diese Lösung um eine Art Trojaner zu schreiben, der gar nie sichtbar sein darf vor dem user :wink:

_________________
...and You will Know us By the Trail of Death.....