AGB  ·  Datenschutz  ·  Impressum  







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

Windows 7 64Bit Redirection

Ein Thema von amigage · begonnen am 10. Nov 2010 · letzter Beitrag vom 29. Nov 2010
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#11

AW: Windows 7 64Bit Redirection

  Alt 11. Nov 2010, 20:23
Kleiner Nachtrag.

Du solltest meines Erachtens nach nicht extra testen ob du auf x64 läufst und vor allem nicht via Registry sondern via MSDN-Library durchsuchenGetNativeSystemInfo. Wie gesagt, testen ist aber m.E.n. unnötig, weil auf einem 32bit-System die Funktionen nicht von kernel32.dll exportiert werden
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#12

AW: Windows 7 64Bit Redirection

  Alt 12. Nov 2010, 09:52
Also dieser Code startet bei mir osk 64bit. Ohne Wow64DisableWow64FsRedirection wollte osk garnicht erst starten. Die 32Bit funkz wohl nicht unter 64bit (oder will nicht).

Delphi-Quellcode:
uses
  JwaWindows,
  SysUtils;

function GetNativeWindowsDirectory : String;
var
  P : array[0..MAX_PATH] of Char;
begin
  SHGetFolderPath(0, CSIDL_SYSTEM, 0, SHGFP_TYPE_DEFAULT, @P);

  result := P;
end;

var
  oldValue : Pointer;
  Path : String;
begin
  Path := GetNativeWindowsDirectory + '\osk.exe';

  if not Wow64DisableWow64FsRedirection(oldValue) then
    RaiseLastOSError;

  ShellExecuteW(0, 'open', PChar(Path), '', '', SW_SHOWNORMAL);

  Wow64RevertWow64FsRedirection(oldValue);
end.
ShowMessage funktioniert nur dann, wenn es mindestens einmal vor Wow64DisableWow64FsRedirection aufgerufen wurde. Sonst sind nicht alle DLLs geladen und es wird versucht eine 64bit DLL in einen 32bit Prozess zu laden. Zumindest ich bekomme eine generische Exception C0FB007E, was wohl vom Delphi delay loader Mechanismus stammt. $7E = 126d ist übrigens der Win32 Code für Modul nicht gefunden.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
270 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Windows 7 64Bit Redirection

  Alt 13. Nov 2010, 15:55
Ich danke Euch für die rege Teilnahme an meinem Problem

Leider wird das irgendwie nichts bei mir. Showmessage habe ich durch Memo.Lines.Add ersetzt und jetzt werden auch die Ausgaben gemacht.
  1. is64Bit : true
  2. Abschaltung starten
  3. disabled : true
  4. start von C:\Windows\system32\osk.exe
  5. isStarted : 5 // Rückgabe von Shellexecute
  6. Abschaltung wieder einschalten
  7. enabled : true


Aber osk.exe startet immer noch nicht. Also habe ich mir den Rückgabewert von Shellexecute ausgeben lassen. Der sollte über 32 sein, aber es wird eine 5 ausgegeben. Und die besagt "Der Zugriff wurde auf die angegebene Datei verweigert." Ich weiß nicht warum... Kann mir das jemand erklären?

Danke.
  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
 
#14

AW: Windows 7 64Bit Redirection

  Alt 13. Nov 2010, 18:11
auch wenn Du die Anwendung als Administrator startest?
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 Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#15

AW: Windows 7 64Bit Redirection

  Alt 13. Nov 2010, 18:19
Zusammen mit Thomas' Vorschlag würde ich noch vorschlagen, daß du Process Monitor von (Sysinternals/MS Technet) mal ne Chance gibst. Wenn du dann so filterst, daß nur dein Programm und osk.exe angezeigt werden und es auf Dateiaktionen beschränkst, kannste den gefilterten Dump (PML!) hier mal anhängen und dann können wir alle miträtseln
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
270 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Windows 7 64Bit Redirection

  Alt 14. Nov 2010, 09:02
So, ich habe einmal das Log vom Process Monitor angehangen. Ich hoffe, ihr könnt erkennen, wo das Problem ist. Das 64 Bit System ist übrigens in Englisch, was aber nicht das Problem sein sollte, oder?

@Bummi:
Dasselbe passiert auch, wenn ich das Programm als Admin ausführe.

Ich wünsche Euch allen einen schönen Sonntag.
Angehängte Dateien
Dateityp: zip osk.zip (137,5 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#17

AW: Windows 7 64Bit Redirection

  Alt 14. Nov 2010, 11:05
Hast du mal meinen Code ausprobiert oder machst du eine neue EXE zum testen, weil die alte Exe funktioniert bei mir nicht.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#18

AW: Windows 7 64Bit Redirection

  Alt 14. Nov 2010, 14:57
So, ich habe einmal das Log vom Process Monitor angehangen. Ich hoffe, ihr könnt erkennen, wo das Problem ist.
Ich sehe ehrlich gesagt kein Problem. Laut dem Report sieht es so aus als ob osk.exe (und zwar die x64-Variante, denn es gibt ja zwei auf dem Win7 x64) erfolgreich gestartet wird und dann auch gleich wieder beendet wird. Wenn du also einen Fehler bekommst, sollte der innerhalb von osk.exe passieren ...

Das 64 Bit System ist übrigens in Englisch, was aber nicht das Problem sein sollte, oder?
Nein.

Ich wünsche Euch allen einen schönen Sonntag.
Dir auch.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#19

AW: Windows 7 64Bit Redirection

  Alt 14. Nov 2010, 20:16
Wie gesagt, sein Code funktioniert bei mir nicht, meiner jedoch schon.
Vielleicht mal testen?
Solange das nicht geschehen ist, werde ich auch nicht mehr weiter raten.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#20

AW: Windows 7 64Bit Redirection

  Alt 14. Nov 2010, 20:18
Wie gesagt, sein Code funktioniert bei mir nicht, meiner jedoch schon.
Ich hatte alle ShowMessage-Aufrufe auskommentiert. Dann ging auch sein Code.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 14:42 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