|
关于一个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中去了,晕 |
|