
//声明函数 SystemParametersInfo 两个重载版本
[DllImport("user32.dll", EntryPoint = "SystemParametersInfo", CharSet = CharSet.Auto)]
public static extern int GetSystemParametersInfo(int uAction, int uParam, out int lpvParam, int fuWinIni)
[DllImport("user32.dll", EntryPoint = "SystemParametersInfo", CharSet = CharSet.Auto)]
public static extern int SetSystemParametersInfo(int uAction, int uParam, int lpvParam, int fuWinIni)
参考:http://blog.csdn.net/keep_silence_/article/details/7850247
你的dll应该是缺少导出函数吧。我给你一个例子:
dll工程:
//dll.h
extern "C" int __declspec(dllexport) add(int,int)
//dll.cpp
#include <windows.h>
#include "dll.h"
BOOL APIENTRY DllMain(HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break
}
return TRUE
}
int add(int a,int b)
{
return a+b
}
exe工程:
//main.cpp
#include <windows.h>
#include <iostream>
#include <tchar.h>
using namespace std
int main()
{
HINSTANCE hDll//dll 句柄
hDll=LoadLibrary(TEXT("win.dll"))//加载dll
cout<<hDll<<endl
typedef int(* lpAddFun)(int,int)//宏定义函数指针类型
typedef int(* lpSubFun)(int,int)
lpAddFun addFun//函数指针
lpSubFun subFun
int * num
if(hDll!=NULL) //判断dll加载是否成功
{
addFun=(lpAddFun)GetProcAddress(hDll,"add")//获取想要引入的函数以及变量
subFun=(lpAddFun)GetProcAddress(hDll,"sub")
num=(int *)GetProcAddress(hDll,"num")
if(num!=NULL)
{
printf("%d\n",* num)
}
if(addFun!=NULL)
{
int result=addFun(3,2)
printf("3+2=%d\n",result)
}
if(subFun!=NULL)
{
int result=subFun(3,2)
printf("3-2=%d\n",result)
}
FreeLibrary(hDll)//卸载dll
}
return 0
}
如果还是不明白,我给你发vs2008下的源代码。
如果是Windows9x/Me系统中,屏蔽Ctrl+Alt+Del和各种任务开关键的方法是通过下面的方法实现的:
Const
SPI_SCREENSAVERRUNNING
=
97
Private
Declare
Function
SystemParametersInfo
Lib
"user32"
Alias
_
"SystemParametersInfoA"
(ByVal
uAction
As
Long,
ByVal
uParam
As
Long,
_
lpvParam
As
Any,
ByVal
fuWinIni
As
Long)
As
Long
Dim
pOld
As
Boolean
Call
SystemParametersInfo(SPI_SCREENSAVERRUNNING,
True,
pOld,
0)
但如果是NT/2000,则非常复杂,似乎连系统钩子都不能解决,而需要采取代码注入、远程线程等手段(这些手段也是一些病毒、木马喜欢采用的)。以下有篇文章可以参考:
http://www.vbgood.com/viewthread.php?tid=39955
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)