Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


SHGetFileInfo, vill inte funka, vaföö?

Postades av 2002-06-06 13:03:29 - Robert Winbladh, i forum visual basic - allmänt, Tråden har 4 Kommentarer och lästs av 534 personer

Det här är vad jag har, det borde funka...
det jag försöker göra är att läsa ur ikonen, sedan lägga in den i Imagelist, sedan använda den i min Treeview...
Felet uppstår här någonstans:

FilePath = "C:\winnt\regedit32.exe"

hImgSmall& = SHGetFileInfo(FilePath, 0&, ShInfo, Len(ShInfo), BASIC_SHGFI_FLAGS Or SHGFI_SMALLICON)

hImgSmall&, är alltid noll, den borde väl får en annan siffra?!?!



----------------------------Module----------------

Public Const MAX_PATH = 260
Public Const SHGFI_DISPLAYNAME = &H200
Public Const SHGFI_EXETYPE = &H2000
Public Const SHGFI_SYSICONINDEX = &H4000 'system icon index
Public Const SHGFI_LARGEICON = &H0 'large icon
Public Const SHGFI_SMALLICON = &H1 'small icon
Public Const SHGFI_SHELLICONSIZE = &H4
Public Const SHGFI_TYPENAME = &H400
Public Const ILD_TRANSPARENT = &H1 'display transparent
Public Const BASIC_SHGFI_FLAGS = SHGFI_TYPENAME Or SHGFI_SHELLICONSIZE Or SHGFI_SYSICONINDEX Or SHGFI_DISPLAYNAME Or SHGFI_EXETYPE

Public Declare Function SHGetFileInfo Lib "Shell32" Alias "SHGetFileInfoA" (ByVal pszPath As String, ByVal dwFileAttributes As Long, psfi As SHFILEINFO, ByVal cbSizeFileInfo As Long, ByVal uFlags As Long) As Long
Public Declare Function ImageList_Draw Lib "comctl32" (ByVal himl As Long, ByVal i As Long, ByVal hDCDest As Long, ByVal X As Long, ByVal y As Long, ByVal flags As Long) As Long

Public ShInfo As SHFILEINFO
Public Type SHFILEINFO
hIcon As Long
iIcon As Long
dwAttributes As Long
szDisplayName As String * MAX_PATH
szTypeName As String * 80
End Type

Public Function ExtractIcon(FilePath As String) As Integer

Dim hImgSmall As Long 'the handle to the system image list
Dim Temp1 As Integer

hImgSmall& = SHGetFileInfo(FilePath, 0&, ShInfo, Len(ShInfo), BASIC_SHGFI_FLAGS Or SHGFI_SMALLICON)

Form1.ImgTmp.Picture = LoadPicture()
Form1.ImgTmp.AutoRedraw = True

'draw the associated icon into the picturebox
Call ImageList_Draw(hImgSmall&, ShInfo.iIcon, Form1.ImgTmp.hdc, 0, 0, ILD_TRANSPARENT)

Form1.ImgTmp.Picture = Form1.ImgTmp.Image
Form1.ImageList1.ListImages.Add (Form1.ImageList1.ListImages.Count + 1), "", Form1.ImgTmp.Picture
Temp1 = Form1.ImageList1.ListImages.Count

ExtractIcon = Temp1

End Function


Svara

Sv: SHGetFileInfo, vill inte funka, vaföö?

Postades av 2002-06-06 13:39:31 - Björn Lindahl

Jag får det att fungera. Det enda sättet jag kan tänka mig är att sökvägen till filen inte stämmer.
Jag kör XP och testade med "C:\windows\regedit.exe", gick alledes utmärkt.


Svara

Sv: SHGetFileInfo, vill inte funka, vaföö?

Postades av 2002-06-06 13:54:36 - Robert Winbladh

oppss.

jag testade ju med c:\winnt\regedit32.exe, såg nu att den inte hette så :)
men nu har jag stött på ett annat prob istället, jag måste kunna skriva bara filnamnet...
tex, Regedit.exe, istållet för: Path & regedit.exe

går det med Shfileop...?


Svara

Sv: SHGetFileInfo, vill inte funka, vaföö?

Postades av 2002-06-06 14:07:02 - Björn Lindahl

Ligger alla ikoner du ska ha ut i systemmappen så kan du med hjälp av API få fram den och bara skicka med utan att användaren behöver se den.

<code>
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Dim s as String * 255
Dim sPath as String

sPath = Left$(s, GetWindowsDirectory(strSave, s)) & "\REGEdit.exe"
</code>


För andra filer i systemet så blir det till att skicka med hela sökvägen.
Det kanske skulle kunna gå om du kan kontrollera vilka program som är installerade på datorn och få fram sökvägen på det sättet.


Svara

Sv: SHGetFileInfo, vill inte funka, vaföö?

Postades av 2002-06-07 09:35:26 - Robert Winbladh

jag har fått det att funka nu iaf, jag gjorde så att jag lade med ikonen i databasen... och läste den där ifrån.

så nu funkar det


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 610
27 953
271 709
1 530
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies