User Passwort
 Passwort speichern Passwort vergessen?
 
 
 
 Alle Foren
 PDA-Dev :: Windows Mobile
 C#
 SHGetFileInfo mit WM6
Autor Vorheriges Thema Thema Nächstes Thema  

~Sammy~

PDA-Interessierter


7 Beiträge

Erstellt am: 30.04.2009 :  00:46:15 Uhr  Profil anzeigen  Autor eine Email senden  Antwort mit Zitat
Hallo
Ich versuche gerade verzweifelt die Windows API SHGetFileInfo aufzurufen.
Aber irgendwie findet der die Methode in der DLL nicht.
Ist diese auf dem PPC woanders als auf dem PC?
Hatte die shell32.dll eingetragen, doch die find ich nicht auf meinem PPC.
Folglich müsste die Funktion dann in einer anderen DLL oder LIB Datei stehn.
Weiß jemand wie ich an die rankomme?
Oder alternativ: Weiß jemand wie ich Symbole von EXE Dateien auslesen kann? und auch die von XLS, .... ?
Komme mit C# nicht weiter.
In C++ ist diese Funktion bereits vorhanden und ich kann sie einfach aufrufen und sie funktioniert.
  Web Server's Default Page
Web Server's Default Page

This page is generated by Plesk, the leading hosting automation software. You see this page because there is no Web site at this address.

You can do the following:

  • Create domains and set up Web hosting using Plesk.
What is Plesk

Plesk is a hosting control panel with simple and secure web server and website management tools. It was specially designed to help IT specialists manage web, DNS, mail and other services through a comprehensive and user-friendly GUI. Learn more about Plesk.

 

Useless user

PDA-Spezialist


465 Beiträge

Erstellt  am: 30.04.2009 :  11:45:55 Uhr  Profil anzeigen  Besuche Useless user's Homepage  Antwort mit Zitat
Komisch in der Doku zu der Funktion steht nicht drin in welcher DLL sie vorhanden ist:
http://msdn.microsoft.com/en-us/library/aa931527.aspx
Ich würde einfach mal die "coredll" ausprobieren.
Zum Anfang der Seite

~Sammy~

PDA-Interessierter


7 Beiträge

Erstellt  am: 30.04.2009 :  17:10:33 Uhr  Profil anzeigen  Autor eine Email senden  Antwort mit Zitat
Hi
Ja hab die MSDN von M$ auch schon untersucht.
Genau die war es.
So sollte die Declaration aussehen:
[DllImport("coredll.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbFileInfo, uint uFlags);
Habe allerdings das gleiche Problem mit einer anderen API
mit der DrawIcon Api.
Oder gibt es in C# eine möglichkeit ein Icon zu Zeichnen, von dem nur das Handle zur verfügung steht?
Gefunden hab ich eine Funktion in der "Graphics" Klasse. Heißt auch DrawIcon. Aber die erwartet als Parameter ein Objekt der Klasse "Icon".
Gibt es eine möglichkeit dies aus dem Handle zu erzeugen?
Zum Anfang der Seite

~Sammy~

PDA-Interessierter


7 Beiträge

Erstellt  am: 30.04.2009 :  17:39:47 Uhr  Profil anzeigen  Autor eine Email senden  Antwort mit Zitat
Ja endlich hab ich was gefunden.
Man kann ein Icon Objekt aus dem Handle erstellen.
SHFILEINFO si = new SHFILEINFO();
SHGetFileInfo(@"\Dateipfad.exe", 0, ref si, (uint) Marshal.SizeOf(si), 0x100);
Graphics g = this.CreateGraphics();
g.DrawIcon(Icon.FromHandle(new IntPtr ((int) si.hIcon)), 10, 10);
Dabei benötigt man die API garnicht
Vielen Dank für eure Hilfe

Bearbeitet von: ~Sammy~ am: 30.04.2009 17:41:14 Uhr
Zum Anfang der Seite

Useless user

PDA-Spezialist


465 Beiträge

Erstellt  am: 30.04.2009 :  17:42:07 Uhr  Profil anzeigen  Besuche Useless user's Homepage  Antwort mit Zitat
Yepp, mittels Bitmap.FromHandle() oder Icon.FromHandle( ) das Bild laden und dann mit dem Graphics-OBjekt ganz normal zeichnen.
Zum Anfang der Seite
  Vorheriges Thema Thema Nächstes Thema  
Springe nach:
 
  Bookmark & Share  
 
 
 
  Tags  
   
 

 



pda-dev.de

Quicklinks: Foren-Übersicht | Developer-News | Suche | Impressum

© just-works! Software

Zum Anfang der Seite

Snitz Forums 2000