| 
 | 
 
 
发表于 2023-10-6 10:20:46
|
显示全部楼层
 
 
 
您可以使用MASM32 SDK v10r中的GetFolderPath函数来选择文件夹。以下是一个简单的示例代码,演示如何使用该函数: 
 
- .386
 
 - .model flat,stdcall
 
 - option casemap:none
 
  
- include \masm32\include\windows.inc
 
 - include \masm32\include\user32.inc
 
 - include \masm32\include\shell32.inc
 
 - include \masm32\include\kernel32.inc
 
  
- includelib \masm32\lib\user32.lib
 
 - includelib \masm32\lib\shell32.lib
 
 - includelib \masm32\lib\kernel32.lib
 
  
- .data
 
 - title db "选择文件夹",0
 
 - buffer db MAX_PATH dup(0)
 
  
- .code
 
 - start:
 
 -     invoke GetFolderPath, NULL, CSIDL_DESKTOPDIRECTORY, NULL, SHGFP_TYPE_CURRENT, buffer
 
 -     invoke MessageBox, NULL, addr buffer, addr title, MB_OK
 
 -     invoke ExitProcess, NULL
 
  
- end start
 
 
  复制代码 
 
在这个示例中,我们使用GetFolderPath函数来获取桌面文件夹的路径,并将其存储在buffer变量中。然后,我们使用MessageBox函数来显示该路径,最后使用ExitProcess函数退出程序。 
 
请注意,GetFolderPath函数需要四个参数。第一个参数是窗口句柄,如果您不需要使用窗口,则可以将其设置为NULL。第二个参数是要获取的文件夹的常量,例如CSIDL_DESKTOPDIRECTORY表示桌面文件夹。第三个参数是一个让您指定文件夹路径的字符串,如果您不需要指定路径,则可以将其设置为NULL。第四个参数是一个标志,用于指定要返回的路径类型。在这个示例中,我们使用SHGFP_TYPE_CURRENT标志来获取当前用户的路径。 
 
希望这可以帮助到您! |   
 
 
 
 |