鱼C论坛

 找回密码
 立即注册
查看: 366|回复: 2

MASM32_SDKv10r

[复制链接]
发表于 2023-10-6 10:20:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我的问题:怎么选择文件夹 ?
1111.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-6 10:20:46 | 显示全部楼层
您可以使用MASM32 SDK v10r中的GetFolderPath函数来选择文件夹。以下是一个简单的示例代码,演示如何使用该函数:

  1. .386
  2. .model flat,stdcall
  3. option casemap:none

  4. include \masm32\include\windows.inc
  5. include \masm32\include\user32.inc
  6. include \masm32\include\shell32.inc
  7. include \masm32\include\kernel32.inc

  8. includelib \masm32\lib\user32.lib
  9. includelib \masm32\lib\shell32.lib
  10. includelib \masm32\lib\kernel32.lib

  11. .data
  12. title db "选择文件夹",0
  13. buffer db MAX_PATH dup(0)

  14. .code
  15. start:
  16.     invoke GetFolderPath, NULL, CSIDL_DESKTOPDIRECTORY, NULL, SHGFP_TYPE_CURRENT, buffer
  17.     invoke MessageBox, NULL, addr buffer, addr title, MB_OK
  18.     invoke ExitProcess, NULL

  19. end start
复制代码


在这个示例中,我们使用GetFolderPath函数来获取桌面文件夹的路径,并将其存储在buffer变量中。然后,我们使用MessageBox函数来显示该路径,最后使用ExitProcess函数退出程序。

请注意,GetFolderPath函数需要四个参数。第一个参数是窗口句柄,如果您不需要使用窗口,则可以将其设置为NULL。第二个参数是要获取的文件夹的常量,例如CSIDL_DESKTOPDIRECTORY表示桌面文件夹。第三个参数是一个让您指定文件夹路径的字符串,如果您不需要指定路径,则可以将其设置为NULL。第四个参数是一个标志,用于指定要返回的路径类型。在这个示例中,我们使用SHGFP_TYPE_CURRENT标志来获取当前用户的路径。

希望这可以帮助到您!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-6 10:21:00 | 显示全部楼层
选择文件夹可以通过使用MASM32 SDK中的相关函数来实现。以下是一个示例代码,演示如何选择文件夹并将所选文件夹的路径存储在一个字符串变量中:

[/code]assembly
.386
.model flat, stdcall

include windows.inc
include user32.inc
includelib user32.lib
include shell32.inc
includelib shell32.lib

.data
  szTitle db "选择文件夹",0
  szFolderPath db MAX_PATH dup(0)

.code
start:
  invoke CoInitialize, NULL
  invoke SHBrowseForFolder, NULL, NULL, NULL, addr szTitle, NULL
  mov ebx, eax ; 保存返回的句柄
  invoke SHGetPathFromIDList, ebx, addr szFolderpath
  invoke CoUninitialize

  ; 在这里可以使用szFolderPath的值进行进一步处理

  invoke ExitProcess, 0

end start
[/code]

请注意,这只是一个基本的示例,你可能需要根据自己的需求进行修改和扩展。编译和运行此代码需要正确配置MASM32环境和相关库文件。

希望这能帮助到你!如果你有更多问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 16:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表