Announcement

Collapse
No announcement yet.

bildschirmschoner vor taskbar verstecken

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • bildschirmschoner vor taskbar verstecken

    hi,

    wie versteckt man einen bildschirmchoner vor der taskbar?

    das hier.....

    <pre>
    program Marlem;

    uses
    Forms,
    windows,
    sysutils,
    Unit2 in 'Unit2.pas' {Form2},
    FrmMain in 'FrmMain.pas' {Form1};

    {$E scr}

    {$R *.RES}

    var Param: String;
    // Window: HWND;

    begin
    Param := copy(upperCase(paramstr(1)),1,2);
    if Param = '/C' then begin
    //nur Einstellungsformular erzeugen bei paramter /C
    Application.Initialize;
    Application.CreateForm(TForm2, Form2);
    Showwindow(Application.handle, SW_Hide); //Applacation fenster verbergen
    Application.Run;
    end;
    if Param = '' then begin
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Showwindow(Application.handle, SW_Hide); //Applacation fenster verbergen
    Application.Run;
    end;
    if Param = '/S' then begin
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Showwindow(Application.handle, SW_Hide); //Applacation fenster verbergen
    Application.Run;
    end;
    if Param = '/P' then begin
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Form1.ParentWindow := StrToInt(ParamStr(2));
    Showwindow(Application.handle, SW_Hide); //Applacation fenster verbergen
    Application.Run;
    end;
    end.
    </pre>
    juckt ihn einfach nicht!

    gruß

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hallo,

    ich habe ein Problem. Ich möchte, wenn das Programm "B" ausgeführt werden soll, darf man es nicht sehen können (in der Leiste oder TaskManager stört es nicht). Aber sonst darf es nicht angezeigt werden. Mit minimize habe ich es auch versucht, das Fenster sieht mann immer ganz kurz.......... vielleicht kann mir jemand helfen

    ich habe ein "Hauptprogramm" - "A". Mit einem Click soll anderes Programm (das z.B. Daten aus einer Tabelle in die andere verschiebt) - "B".

    DAS STEHT IM PROGRAMM "A".

    pgm := 'c:\.....\B.exe ';
    pgm := pgm + 'noch 2 Parameter';

    StrPCopy(pCommandLine,pgm);

    Result := false;
    FillChar(StartupInfo,SizeOf(StartupInfo),#0);
    StartupInfo.cb := sizeof(StartupInfo);
    StartupInfo.dwflags := STARTF_USESHOWWINDOW or STARTF__USESTDHANDLES;
    showWindow(owner, SW_HIDE);

    result := createProcess(nil,pcommandLine,nil,nil,true,high_p riority_class,nil,nil,Startupinfo,ProcessInfo);

    if Result then
    begin
    WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
    hAppProcess := ProcessInfo.hProcess;
    hAppThread := ProcessInfo.hThread;

    end
    else
    begin
    raise Exception.Create('FEHLER !!!!!!!!!!!!');
    end;

    if hAppThread <> 0 then CloseHandle(happthread);
    if hAppProcess <> 0 then CloseHandle(hAppProcess);

    application.ProcessMessages;

    DAS STEHT IM PROGRAMM "B":

    procedure TForm1.FormActivate(Sender: TObject);
    begin
    ShowWindow(Form1.Handle,SW_HIDE);
    button1.Click;
    end;

    und unter BUTTON1.click steht folgendes:
    statusbar1.Panels.Items[0].Text := 'CRM - Utility';
    if paramcount <> 2 then
    showmessage('Ungültige Anzahl Parameter')
    else begin
    // Prüfen ob Dateien frei sind
    repeat
    bereit_zum_verarbeiten := true;
    if IsFileInUse(_xml.Text) then bereit_zum_verarbeiten := false;
    IF not bereit_zum_verarbeiten then begin
    statusbar1.Panels.Items[0].Text := 'Locked ..';
    application.ProcessMessages;
    form1.Show;
    sleep(100);
    end;
    until bereit_zum_verarbeiten;

    statusbar1.Panels.Items[1].Text := 'Lade Definitionsdatei ...';
    application.ProcessMessages;
    _defn.Text := paramstr(1);
    _xml.Text := paramstr(2);
    if not fileexists(_defn.text) then
    showmessage('Definitionsdatei nicht gefunden')
    else begin
    statusbar1.Panels.Items[1].Text := 'Schreibe XML-Datei ...';
    application.ProcessMessages;
    assignfile(XMLFile,_xml.Text);
    rewrite(XMLFile);
    XMLString := '<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0">';
    Writeln(XmlFile,XmlString);
    memo1.Lines.LoadFromFile(_defn.Text);
    for ii := 0 to memo1.Lines.Count-1 do begin
    Writeln(XmlFile,memo1.lines.strings[ii]);
    end;
    XMLString := '<ROWDATA />';
    Writeln(XmlFile,XmlString);
    XMLString := '</DATAPACKET>';
    Writeln(XmlFile,XmlString);
    closefile(XMLFile);
    statusbar1.Panels.Items[1].Text := 'Datei erfolgreich erstellt ...';
    application.ProcessMessages;

    end;
    end;

    close;

    Vielen Dank

    Comment


    • #3
      hi,

      hast du es schon mal mit form1.hide im oncreate probiert?

      gruß

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        <b>@Markus</b><p>
        schau mal die "Musterlösung" von Borland dazu an: http://community.borland.com/article/0,1410,19534,00.htm

        Comment


        • #5
          hi elmar!

          ich weiß schon gar nicht mehr wie ich es gemacht habe, aber inzwischen tut es! bildschirmschoner ist schon lange auf meiner hp zum download!

          danke
          Herzliche Grüße

          Markus Lemcke
          barrierefreies Webdesign

          Comment

          Working...
          X