mciSendString在easyx窗口/注册表

0

大家好!我学习了mciSendString,但是不知道怎么吧mciSendString放在easyx窗口里面。谢谢大家!

还有,我想做一个播放器,怎么右键文件点打开方式、选择我的程序,然后程序自动播放文件,不用先打开软件……谢谢大家!

ava
Forest

2020-3-3

0

mciSendString 没有界面,所以放在哪里用都不冲突,甚至可以直接在控制台程序里面用都没问题。

如果要实现双击某个类型的文件(比如 .txt2)然后自动启动你的程序打开,操作系统实际上执行的操作是:

  1. 用户双击某个 .txt2 文件。例如文件名为 D:\my.txt
  2. 操作系统从注册表查找 .txt2 类型的文件对应的应用程序是哪个,例如,找到的是:D:\App\Test\Test.exe
  3. 操作系统将用户双击的文件全路径以参数形式传递给关联的程序,会执行:D:\App\Test\Test.exe "D:\my.txt"

根据以上操作系统执行的步骤,你需要实现如下步骤:

  1. 你的程序有接收参数的能力。就是 main 里面的 argc 和 argv 参数。
  2. 你编译好的 .exe,要通过安装程序封装。安装程序里面写好注册文件类型的脚本。(推荐试试 inno setup 或 nsis setup 两个安装程序)。
  3. 其他用户拿到你的安装程序后,执行安装,安装程序将 .exe 拷贝到固定路径,并注册 .txt2 为该 .exe 打开。

注意:文件类型注册信息,需要写若干注册表项,如果初学,可能会把你的系统搞乱,请务必慎重操作。

ava
慢羊羊

2020-3-3

OK,我会慎重的,谢谢! -  Forest  2020-3-4
技术讨论社区