VC怎么使用ShellExecute调用其他程序文件(图片,文本,音频)给个完整的的程序例子

VC怎么使用ShellExecute调用其他程序文件(图片,文本,音频)给个完整的的程序例子,第1张

void CXxDlg::OnOK() 

{

ShellExecute(GetSafeHwnd(),TEXT("孙蠢PRINT"),TEXT("C:\\WINDOWS\\system.ini"),TEXT(""),NULL,SW_SHOWNORMAL) //打印文本

ShellExecute(GetSafeHwnd(),TEXT("OPEN"),TEXT("C:\\WINDOWS\\system.ini"首凯返),TEXT(""),NULL,SW_SHOWNORMAL) //打开文本文件

ShellExecute(GetSafeHwnd(),TEXT("OPEN"),TEXT("C:\\WINDOWS\\Media\\chimes.wav"),TEXT(""),NULL,SW_SHOWNORMAL)//播放音频

ShellExecute(GetSafeHwnd(),TEXT("EDIT"),TEXT("C:\\WINDOWS\\Rhododendron.bmp"),TEXT(""),NULL,SW_SHOWNORMAL) //编辑图片者饥

ShellExecute(GetSafeHwnd(),TEXT("explore"),TEXT("C:\\WINDOWS"),TEXT(""),NULL,SW_SHOWNORMAL) //浏览文件夹

}

你是指内联汇编吧?比如下面这个例子

#include <stdio.h>

int func(int a, int b)

{

 return a - b

}

int main()

{

 //计算 12-5

 int 饥磨旦a = 12, b = 5  //给定两个数

 int res    //用来记录结果

 __asm{     //内联汇编

  push b    //b压栈

  push a    //a压栈,注意C中函数接受参数的时候入栈是反烂扰着的

  call func   //调用游唯函数func, 返回值保存在eax里

  mov res, eax  //将eax里的值赋给res

 }

 printf("%d\n", res) //输出结果,得到7

 return 0

}

例:

#include<stdio.h>

intsushu(intx)

{inti

for(i=2i<xi++)

if(x%i==0)break

if(i==x)return1

elsereturn0

}

main()

{inti,n=0

for(i=2i<=1000i++)

if(sushu(i)==1)n++:

printf("n=%d",n)

}

扩展旦漏资料

使用vfork()新建子进程,然后调用exec函数族

#include<弯迟散unistd.h>

main()

{

char*argv[]={“ls”,”-al”,”/etc/passwd”埋氏,(char*)}

if(vfork()==0)

{

execv(“/bin/ls”,argv)

}else{

printf(“Thisistheparentprocess\n”)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12352979.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存