AGB  ·  Datenschutz  ·  Impressum  







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

CreateProcess() und "magnify.exe"

Ein Thema von Aphton · begonnen am 3. Jan 2013 · letzter Beitrag vom 4. Jan 2013
Antwort Antwort
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#1

CreateProcess() und "magnify.exe"

  Alt 3. Jan 2013, 23:37
Hallöchen,
Ich möchte per CreateProcess() die Windows Lupe starten und benützen.
Das Problem ist, dass der Inhalt der Lupe manchmal schwarz ist.
Starte ich es normal, per Explorer, funktioniert es tadellos.
Liegt höchstwahrscheinlich daran, wie ich das aufrufe. Vlt hat ja einer ne Idee =/

Relevanter Code
Delphi-Quellcode:
    if Buttons[7] then
    begin
      if not magnifyActive then
      begin
        // TODO 1: This doesnt work properly
        FillChar(magnifyProcess, SizeOf(magnifyProcess), 0);
        FillChar(StartupInfo, SizeOf(StartupInfo), 0);
        StartupInfo.cb := SizeOf(StartupInfo);
        StartupInfo.wShowWindow := SW_SHOW;
        StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
        magnifyActive := CreateProcess(pWideChar(SysDir + '\magnify.exe'),
          NIL, NIL, NIL, True, 0, NIL, NIL, StartupInfo, magnifyProcess);
      end;
    end else
      if magnifyActive then
        magnifyActive := not TerminateProcess(magnifyProcess.hProcess, 0);
Edit:
Probier habe ich bereits folgendes
.. per Shellexecute das ganze starten
.. an den Startup - Parametern rumspielen
.. ShellExecute
vergebens
Miniaturansicht angehängter Grafiken
untitled.jpg  
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton ( 4. Jan 2013 um 00:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: CreateProcess() und "magnify.exe"

  Alt 4. Jan 2013, 00:08
kann ich leider weder

Delphi-Quellcode:
//mit
  ShellExecute(handle,'OPEN','magnify.exe',nil,nil,sw_show)
// noch mit

  ShellExecute(0,'OPEN','magnify.exe',nil,nil,sw_show)
reproduzieren ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: CreateProcess() und "magnify.exe"

  Alt 4. Jan 2013, 00:54
Probiers öfters aus.
Bei mir geschieht es auch manchmal, dass es 4-5 mal hintereinander problemlos klappt.
:S

Edit:
Hab endlich etwas gefunden

Lösung
Delphi-Quellcode:
    if Buttons[7] then
    begin
      if not magnifyActive then
      begin
        // TODO 1: This doesnt work properly
        FillChar(magnifyProcess, SizeOf(magnifyProcess), 0);
        FillChar(StartupInfo, SizeOf(StartupInfo), 0);
        StartupInfo.cb := SizeOf(StartupInfo);
        StartupInfo.wShowWindow := SW_SHOW;
        StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
        Wow64RedirectionDisabled := Wow64DisableWow64FsRedirection(Wow64Value);
        magnifyActive := CreateProcess(pWideChar(SysDir + '\magnify.exe'),
          NIL, NIL, NIL, True, 0, NIL, NIL, StartupInfo, magnifyProcess);
        if Wow64RedirectionDisabled then
          Wow64RevertWow64FsRedirection(Wow64Value);
      end;
    end else
      if magnifyActive then
        magnifyActive := not TerminateProcess(magnifyProcess.hProcess, 0);
Ich hatte es im Hinterkopf, dass es da evt. zu Problemen kommen kann, wenn man aus 32 Bit 64 Bit Anwendungen startet.. alles im Hinterkopf..
ist mir nur nicht eingefallen =/

Jedenfalls, danke für die Beteiligung

Gute Nacht
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton ( 4. Jan 2013 um 01:15 Uhr)
  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 05:01 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