Mit c++ den Pfad von Access herausfinden.
-
Hallo Leute,
ich bräuchte mal eure Hilfe, ich soll in c++ Access mit lauter Parameter aufrufen. Das habe ich auch soweit alles hinbekommen. Mein Problem ist, das unterschiedliche PCs, Access woanderst abspeichern: 64 Bit Systeme in Programme (32), Office 2003 im Ordner Office11, Office 2010 in Office14.
Könnt ihr mir sagen wie ich an den aktuellen Pfad zur MSAccess.exe komme?
Vielleicht ein wenig ausführlicher, damit ich als Newbe in C++ noch etwas verstehe.Danke
Rahan
-
Der Pfad steht in der Registry unter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE
Und, weil er dort steht, kann man auch einfach ShellExecute(..., _T("msaccess.exe"), ...) ohne Pfad aufrufen.
-
Marcus Humann schrieb:
Der Pfad steht in der Registry unter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE
Und, weil er dort steht, kann man auch einfach ShellExecute(..., _T("msaccess.exe"), ...) ohne Pfad aufrufen.Hey erst mal vielen Dank. Aber bei mir funktioniert das nicht. Ich für das Programm mit WinExec aus. Vielleicht liegt es daran das er nix tut. Er müsste doch, wenn es so wäre wie du sagst, in der Konsole ebenfalls msaccess.exe kennen oder nicht? Das macht er aber nicht. Vielleicht kann ich ja einfach den Reg Eintrag in eine Variable speichern.
-
WinAPI:
FindExecutable(.....
Gruss
Frank
-
rahan schrieb:
Aber bei mir funktioniert das nicht. Ich für das Programm mit WinExec aus. Vielleicht liegt es daran das er nix tut.
Ja, daran liegt das. Hast Du denn einen guten Grund, die total veraltete Funktion WinExec zu benutzen? Ich schätze mal nicht; dann nimm doch einfach ShellExecute, dann funktioniert das auch, wie ich geschrieben habe.
Er müsste doch, wenn es so wäre wie du sagst, in der Konsole ebenfalls msaccess.exe kennen oder nicht?
Nein, der Schlüssel "App Paths" gehört der Windows Shell. Die Konsole kümmert sich nicht darum.
Vielleicht kann ich ja einfach den Reg Eintrag in eine Variable speichern.
Ja, das kannst Du, wie mit jedem Reg Eintrag.