AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Windows 7 64Bit Redirection

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

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

AW: Windows 7 64Bit Redirection

  Alt 11. Nov 2010, 19:15
Nein, ganz normal bei Klick auf eine Schaltfläche. Keine Threads!
Okay, gucke nachher mal drüber.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  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: Windows 7 64Bit Redirection

  Alt 11. Nov 2010, 19:50
Ich denke shima hat recht
nimm statt showmessage mal Memo1.lines.add

is64Bit : true
Abschaltung starten
disabled : true
start von osk.exe
Abschaltung wieder einschalten
enabled : true

OSK öffnet sich
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
 
#3

AW: Windows 7 64Bit Redirection

  Alt 11. Nov 2010, 20:03
Ich denke shima hat recht
nimm statt showmessage mal Memo1.lines.add

is64Bit : true
Abschaltung starten
disabled : true
start von osk.exe
Abschaltung wieder einschalten
enabled : true

OSK öffnet sich
Schließe mich an. Getestet auf Win 7 x64.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

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

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
 
#5

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
274 Beiträge
 
Delphi 12 Athens
 
#6

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
 
#7

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
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz