INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Itemidlist



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

07.12.2006, 13:52
Beitrag #1

hepman Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Apr 2006

7.1,8.2,8.5
2000
DE-DEUTSCH

10781
Deutschland
Itemidlist
<div align="left">Hallo Leute,

kann mir jemand helfen wie ich in LabVIEW einen Dateipfad zu einem ITEMIDLIST umwandle.

Ich glaube ich muss diesen Code verwenden, weiss jedoch nicht wie ich ihn in LabVIEW umsetzte,
möchte keine weitere DLL als die shell32.dll benutzen:

LPSHELLFOLDER pShellFolder = NULL;
HRESULT hr;
ULONG chUsed;
// Get desktop IShellFolder interface
if (SHGetDesktopFolder (&pShellFolder) != NOERROR)
return FALSE; // failed



// convert the path to an ITEMIDLIST
hr = pShellFolder->ParseDisplayName (
NULL, // owner window
NULL, // reserved (must be NULL)
lpszPath, // folder name
&chUsed, // number of chars parsed
lpItemIdList, // ITEMIDLIST
NULL // attributes (can be NULL)
);

Ich hoffe das zumindestet das SHParseDisplayName.vi schon mal richtig ist.

Vielen Dank

Grüße
Hepman
</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.06.2007, 16:00
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Itemidlist
' schrieb:<div align="left">Hallo Leute,

kann mir jemand helfen wie ich in LabVIEW einen Dateipfad zu einem ITEMIDLIST umwandle.

Ich glaube ich muss diesen Code verwenden, weiss jedoch nicht wie ich ihn in LabVIEW umsetzte,
möchte keine weitere DLL als die shell32.dll benutzen:

LPSHELLFOLDER pShellFolder = NULL;
HRESULT hr;
ULONG chUsed;
// Get desktop IShellFolder interface
if (SHGetDesktopFolder (&pShellFolder) != NOERROR)
return FALSE; // failed
// convert the path to an ITEMIDLIST
hr = pShellFolder->ParseDisplayName (
NULL, // owner window
NULL, // reserved (must be NULL)
lpszPath, // folder name
&chUsed, // number of chars parsed
lpItemIdList, // ITEMIDLIST
NULL // attributes (can be NULL)
);

Ich hoffe das zumindestet das SHParseDisplayName.vi schon mal richtig ist.

Vielen Dank

Grüße
Hepman
</div>

Ohh, ohh. Da will einer Pseudo COM in LabVIEW tun. Pseudo COM deshalb weil das was shell32.dll tut aussieht wie COM aber nicht ganz ist. Und da COM auch nur ein Subset von ActiveX ist geht es leider sowiso nicht um das in LabVIEW aufzurufen.

Aber shell32.dll exportiert noch ein paar andere hübsche Funktionen zur Verfügung. Schau mal unter: LAVA Website
und gehe zum zweitletzten Posting mit "Windows_Special_Folders.llb".

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: