关于SKD
关于一个SDK的问题不知道破解的版本是否带SDK呢?
我在网上偶然看见一个程序,觉得写得很好,是一个关于用CVI调用计算器与文本编辑器的程序,我试着编译了一下,总是出错, 是个连接错误,说程序中的ShellExecute()未定义,这个函数是<shellapi.h>中的,这个头文件属于CVI的SDK,我已把头文件加入工程中,为何还会出现这个连接错误呢?请CPUBBS指点一下!谢谢!
程序如下:
#include "windows.h"
#include "shellapi.h"
#include "test1.h"
static int handle;
static int panelHandle;
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "test1.uir", PANEL)) < 0)
return -1;
GetPanelAttribute (panelHandle, ATTR_SYSTEM_WINDOW_HANDLE, &handle);
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}
int CVICALLBACK calc (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
HWND hwnd;
switch (event)
{
case EVENT_COMMIT:
ShellExecute((HWND)handle, "open", "calc.exe", NULL, NULL,SW_NORMAL);
hwnd = FindWindow(NULL, "计算器");
SetParent(hwnd, (HWND)handle);
break;
}
return 0;
}
int CVICALLBACK notepad (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
HWND hwnd;
switch (event)
{
case EVENT_COMMIT:
ShellExecute((HWND)handle, "open", "notepad.exe", NULL, NULL,SW_NORMAL);
hwnd = FindWindow(NULL, "无标题 - 记事本");
SetParent(hwnd, (HWND)handle);
break;
}
return 0;
}
int CVICALLBACK QuitCallback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
QuitUserInterface (0);
break;
}
return 0;
}
哎,一个不小心发到了LV中去了,晕 呵呵!这是王建新博客上的例子吧!
从代码来看,你连头文件都没加全,还真不知道你的工程文件时怎么建立的?! 请问上面那位高手我缺什么头文件啊?我也从来没说过这个程序是我自己写的.
头文件我加全了,问题也解决了,我没有加库文件shell.dll于shell.lib
论坛上说,调用windows自带的程序只要加头文件,是不对的. 还请斑竹本着帮忙解决问题的心思,而不是取笑人!我们都是很支持这个论坛的! 楼主误会了!
1、你在帖子中已经说是在网上看到的!——我只是印证一下。
2、因为你指名要cpubbs回答,就不能再指责别人不回答你的问题! 既然没指名让你回答,你就没必要来跟贴;
既然不是本着回答问题的责任;也要本着做人厚道的责任;
就算回贴,也不必要取笑别人; 请不要偷换概念
1.既然我已诚实地说是网上看见的,请问你还要印证什么呢?印证这个又有什么意义?
2.我并没指责你没回答我问题!
哎,冤怨相报何时了啊,祝netcreature自求多福,越走越远! http://hi.baidu.com/jakey0000/blog/item/85e23e39360e6df5b311c770.html 这上边是我调试成功的例子。你可以参考一下。 楼主需要提高心理承受能力,版主的话虽然不是怎么好听,但是也没有什么的。
在工作中难听的话可能更多。
看看在工程里边有没有加lib文件,还有头文件shellapi.h里边有没有声明好缺少的那个函数。
页:
[1]