如题,只有70分,全给了!

解决方案 »

  1.   

    用API 函数SHGetFileInfo 获得系统图标句柄,然后加载到你的程序里
      

  2.   

    参考:
    http://topic.csdn.net/t/20031209/15/2544661.html
      

  3.   

    请问楼上,我的电脑的图标句柄如何获得,我可以获得磁盘上任一文件及文件夹的图标,但如何获得我的电脑呢,请再次指点,SHGetFileInfo是需要路径的,如何给值呢?
      

  4.   

    图标文件在哪个系统文件里,那个系统文件的路径就是,我的电脑图标在哪个系统文件里要试,shell32.dll里有几百个系统图标
      

  5.   


    '1.要会操作注册表Public Declare Function RegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Long) As Long '关闭注册表Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long '打开注册表'.........还有好多操作注册表的API'2.找到图标所在的地方.
    '我的电脑:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon  
    '网上邻居:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{208D2C60-3AEA-1069-A2D7-08002B30309D}\DefaultIcon 
    '我的文档:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon 
    '控制面板:HKEY_CLASSES_ROOT\CLSID\{21EC2020-3AEA-1069-A2DD-08002B30309D}\DefaultIcon 
    '连接到:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{7007ACC7-3202-11D1-AAD2-00805FC1270E}\DefaultIcon'在注册表的以上位置都保存有一个值,就是图标所有文件名及位置值.
    '如:我的电脑中的值为  %SystemRoot%\Explorer.exe,0  表示图标为 Explorer.exe 文件中的编号为0的图标.
    '3.用提取图标的API对图标进行提取.Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As LongPrivate Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As LongPrivate Sub Command1_Click()    
      Dim a&
      a = ExtractIcon(App.hInstance, "c:\windows\Explorer.exe", 0)
      DrawIcon hdc, 100, 0, a
    End Sub
      

  6.   

    多谢fvflove,要的就是这段代码.结帖给分!