VC调用VB的dll
有静态和动态两种,静态的需要lib而动态的只需要一个dll就可以了(但是要知道函数的定义一般是头文
件)动态相对复杂一点!但是掌握了也不是很难
//第一步 定义函数指针就是你要调用的函数,参数必须一致,不然就内存泄露
typedef HANDLE (PASCAL * OPEN)(char *,int);
//第二步 定义本地函数
//一般前两步都在头文件里面声明
OPEN open;
//第三步 加载dll
HMODULE m_hLib;
m_hLib ::LoadLibrary"E:\\yewufuwu\\TERMINALDLL\\Debug\\TerminalDLL.dll");
//输入相应的路径
if(m_hLib == NULL )
{
MessageBox("动态连接库没有找到!!!","LoadLibrary",MB_OK);
return ;
}
//第四步
else
{
MessageBox("动态连接库成功打开...","LoadLibrary",MB_OK);
open=(OPEN)GetProcAddress(m_hLib, "OpenDevice");
}
//第五步
long handle = open("EF",1);
动态库下的函数如下
//*************打开终端*****************************************
HANDLE __declspec(dllexport) WINAPI
OpenDevice(char * szType,int nType)
{
hReader&
相关文档:
在很多 VB 的资料库书籍中,都会很完整的提到:如何由其他种类的文件中将资料导入资料库,但是却很少有书提到:如何将资料库中的资料,导出到各种不同的文件类型的文件中,连 VB 的 Help 中也是这样!
或许是大家都认为资料库主题的重点是在资料库本身吧!
但是,在实际的资料库程序运用中,却常常需要将资料库导出到各种 ......
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Const EWX_LOGOFF = 0
Private Const EWX_SHUTDOWN = 1
Private Const EWX_REBOOT = 2
Private Const EWX_FORCE = 4
Private closeTime As String
Sub AdjustTokenPrivilegesForNT()
......
如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。
请回想一下在硬盘上是如何查找文件的。您肯定会使用 ? 和 * 字符来帮助查找您正寻找的文件。? 字符匹配文件名中的单个字符,而 * 则匹配一个或多个字符。一个如 'data?.dat' 的模式可以找到下述文件:
data1.dat
......
主窗体代码:
'打开网页
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'复制文件
Private Declare Fu ......