Autor Beitrag
hiwa
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 28.05.09 17:34 
Hallo,

ich bin für mein Programm, was ich gerade schreibe auf der Suche nach einem eleganten Weg spezielle Pfade (hier für user32.dll)
zu ermitteln.
Das Programm soll später in verschiedenen Betriebssystemen zumn Einsatz kommen, wobei sich die Pfade für verschiedene Bibliotheken
sich dann ändern, z.B. bei Windows XP und Vista.

Ich habe schon bereits hierzu ein Befehl gefunden, womit man das evtl. rauskriegen kann: SHGetFolderPath()

Ich weiss aber bis lang noch nicht wie man das einsetzt und auf was man alles achten soll.

Voraus danke für eure Tipps und Hilfestellung!!!
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Do 28.05.09 17:55 
Hallo,

mit der statischen Klasse Environment kannst du dir spezielle System-Verzeichnisse ausgeben lassen.

Zum Beispiel:

ausblenden C#-Quelltext
1:
Environment.GetFolderPath(Environment.SpecialFolder.System);					


Hoffe das hilft dir weiter,

Gruß Daniel
hiwa Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 29.05.09 14:54 
user profile icondanielf hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,

mit der statischen Klasse Environment kannst du dir spezielle System-Verzeichnisse ausgeben lassen.

Zum Beispiel:

ausblenden C#-Quelltext
1:
Environment.GetFolderPath(Environment.SpecialFolder.System);					


Hoffe das hilft dir weiter,

Gruß Daniel



Hallo Daniel,
ich danke dir für das gute Tipp was du mir gegeben hast..Tatsächlich ist wohl mein Problem dort, dass ich ein DLLImport-Befehl benutze, und dort (so ich das verstaden habe) darf ich nur konstante Parameter angeben, z.B.

public delegate bool EnumDelegate(IntPtr hWnd, int lParam);
[DllImport(@"C:\System32\user32.dll", EntryPoint = "EnumDesktopWindows", ExactSpelling = false, CharSet=CharSet.Auto, SetLastError = true)]

Der Bereich @"C:\System32\user32.dll", soll aber unter unterschiedliche Betriebsysteme von Windows variabel sein, und wenn ich da eine veränderliche String-Variable einsetze, bekomme ich folgende Fehlermeldung:

"Ein Attributargument muss ein constant-, typeof- oder Arrayerstellungsausdruck eines Attributparametertyps sein."
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 29.05.09 16:32 
Ein einfaches "user32.dll" genügt :zwinker: .

_________________
>λ=