发布于 2006-09-22 18:21:17
0楼
呵呵!给个当年我做过的相对路径调用.chm文件的C脚本大家参考:
(只要把做好的编译好的.chm文件放在项目的文件夹下,就不用管项目的路径如何变化,都不用去更改.chm的路径了)
如果是wincc v6.0sp3的话用VBS来调用估计更方面。
下面的部分调试用的代码完全可以省略。
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
char szProjectFile[_MAX_PATH+1];
DM_DIRECTORY_INFO dmDirInfo;
CMN_ERROR Error;
char * psz=NULL;
char dir[255];
if(DMGetRuntimeProject(szProjectFile,_MAX_PATH+1,&Error)==FALSE)
{
printf("\r\nError in DMGetRuntimeProject()\r\n\t%s\r\n",Error.szErrorText);
return;
}
if(DMGetProjectDirectory("",szProjectFile,&dmDirInfo,&Error)==FALSE)
{
printf("\r\nError in DMGetProjectDirectory()\r\n\t%s\r\n",Error.szErrorText);
return;
}
printf("\r\nInstallationDirectory:\r\n%s\r\n",dmDirInfo.szProjectDir);
strcat(dmDirInfo.szProjectDir,"help.chm");
sprintf(dir,"%s",dmDirInfo.szProjectDir);
printf("\r\ndmDirInfo.szProjectDir=%s\r\n",dmDirInfo.szProjectDir);
printf("\r\ndir=%s\r\n",dir);
sprintf(dir,"C:\\winnt\\hh.exe %s",dmDirInfo.szProjectDir);
printf("\r\ndir=%s\r\n",dir);
ProgramExecute(dir);
}
雄关漫道真如铁,而今迈步从头越!