ShellExecute()函数包含在哪个lib库中?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ShellExecute()函数包含在哪个lib库中?相关的知识,希望对你有一定的参考价值。
API函数 缩主文件 Shell32.dllShellExecute
说明 Shellexecute 函数用于对文件执行一个动词(verb). 它通常用于启动一个与特定文件类相关联的应用程序. 例如, 要启动 Word 来读一个 .doc 文件, 或启动 记事本 来编辑一个 .txt 文件. 用于第二个参数中的最常用的动词是 "Open", 但其它可用的动词是 "edit","print","explore" 和 "properties". 有趣的是, 使用 "mailto:" 或 "http://" 前缀, ShellExecute 函数也可用于以一个给定的邮件地址启动默认的邮件阅读器或给定的 URL 启动默认的浏览器.
缩主文件 Shell32.dll
在 VFP 中的定义
DECLARE INTEGER ShellExecute IN "Shell32.dll" ;
INTEGER hwnd, ;
STRING lpVerb, ;
STRING lpFile, ;
STRING lpParameters, ;
STRING lpDirectory, ;
LONG nShowCmd
Visual FoxPro 应用示例
* 打开 Word 来编辑文件 "c:\mywordfile.doc"
=Shellexecute(0,"Open","c:\mywordfile.doc","","",0)
* 打开默认的浏览器并定位到天堂论坛
=Shellexecute(0,"Open","http://www.dbwin.net/bbs/index.asp?boardID=1&page=1","","",0)
* 打开默认的邮件阅读器来发一封信给天堂版主
=Shellexecute(0,"Open","mailto:njjane@21cn.com","","",0)
* 打印文本文件 "c:\mytextfile.txt"
=Shellexecute(0,"Print","c:\mytextfile.txt","","",0) 参考技术A Vc中API函数 ShellExecute用法
1. 函数功能:
你可以给它任何文件的名字,它都能识别出来并打开它。
2.函数原型:
HINSTANCE ShellExecute(HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd);
3.参数说明:
hwnd:
用于指定父窗口句柄。当函数调用过程出现错误时,它将作为Windows消息窗口的父窗口。
lpOperation:
用于指定要进行的操作。
“open”操作表示执行由lpFile参数指定的程序,或打开由lpFile参数指定的文件或文件夹;
“print”操作表示打印由lpFile参数指定的文件;
“explore”操作表示浏览由lpFile参数指定的文件夹。
当参数设为NULL时,表示执行默认操作“open”。 参考技术B 自己找呗. 参考技术C shell32.lib
参考资料:http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx
静态链接库和动态链接库
编译生成LIB
1>------ 已启动生成: 项目: test, 配置: Debug Win32 ------ 1> test.cpp 1> test.vcxproj -> D:\visual studio\test\Debug\test.lib ========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========
编译生成DLL:
#ifndef __ADD_H__ #define __ADD_H__ extern "C" int _declspec(dllexport) add(int x, int y); #endif
#include "add.h" int add(int a, int b) { return a + b; }
1> add.vcxproj -> D:\visual studio\add\Debug\add.dll
动态调用DLL(仅需要DLL,不需要头文件和LIB)
#include <iostream> #include <windows.h> using namespace std; typedef int(*FUN)(int, int);//定义指向和DLL中相同的函数原型指针 int main() { int x, y; HMODULE hDLL = LoadLibrary("D:\\visual studio\\add\\Debug\\add.dll");//加载dll if (hDLL != NULL) { FUN add = FUN(GetProcAddress(hDLL, "add"));//获取导入到应用程序中的函数指针,根据方法名取得 if (add != NULL) { cout << "Input 2 Numbers:"; cin >> x >> y; cout << add(x, y) <<endl; } else { cout << "Cannot Find Function" << endl; } FreeLibrary(hDLL); } else { cout << "Cannot Find dll" << endl; } return 1; }
Input 2 Numbers:3 4 7 请按任意键继续. . .
静态调用(同时需要头文件、LIB和DLL文件,缺一不可)
#ifndef __USEDll_H__ #define __USEDll_H__ extern "C" _declspec(dllimport) int add(int x, int y); #endif
#include "UseDll.h" #include <iostream> using namespace std; #pragma comment(lib,"D:\\visual studio\\UseDll\\Debug\\add.lib") int main() { int x, y; cout << "Input 2 Numbers:"; cin >> x >> y; cout << add(x, y) <<endl; }
Input 2 Numbers:10 10 20 请按任意键继续. . .
以上是关于ShellExecute()函数包含在哪个lib库中?的主要内容,如果未能解决你的问题,请参考以下文章