ev类能用的例子

上次发的ev的例子发现不能;跑这就尴尬 了,测试了社区的例子发现飞跃老哥的直接进行dllcall的是没有问题的,但是包括河老板的ev的例子都无法使用,我发的例子脱离了ra的环境后也是存在调用问题,之后和僵尸大佬研究了一下,找到一个在影子上面的调用示例,进行了简单的修改改造成一个可用的例子

下面做个分享,各位朋友在测试ev调用类的时候可以试试我这个例子

下面的例子是僵尸老哥改进的

runwith("Admin","32")
everyDLL := "C:\Users\JiangShi\Desktop\Everything.dll"
ev := New everything(everyDLL)
; ev.SetMatchWholeWord(True)
ev.SetSearch("影子输入法")
ev.Query()
Num := ev.GetTotResults()

Loop % Num
{
	aaa .= ev.GetResultFullPathName(A_index - 1) "`n"
}
MsgBox % aaa
return

class everything
{
	__New(everyDLL){
		this.hModule := DllCall("LoadLibrary", str, this.everyDLL := everyDLL)
	}
	__Get(aName){
	}
	__Set(aName, aValue){
	}
	__Delete(){
		DllCall("FreeLibrary", "UInt", this.hModule) 
		return
	}
	SetSearch(aValue)
	{
		this.eSearch := aValue
		dllcall(this.everyDLL "\Everything_SetSearch",str,aValue)
		return
	}
	;设置全字匹配
	SetMatchWholeWord(aValue)
	{
		this.eMatchWholeWord := aValue
		dllcall(this.everyDLL "\Everything_SetMatchWholeWord",int,aValue)
		return
	}
	;设置正则表达式搜索
	SetRegex(aValue)
	{
		this.eMatchWholeWord := aValue
		dllcall(this.everyDLL "\Everything_SetRegex",int,aValue)
		return
	}
	;执行搜索动作
	Query(aValue=1)
	{
		dllcall(this.everyDLL "\Everything_Query",int,aValue)
		return
	}
	;返回管理员权限状态
	GetIsAdmin()
	{
		return dllcall(this.everyDLL "\Everything_IsAdmin")
	}
	;返回匹配总数
	GetTotResults()
	{
		return dllcall(this.everyDLL "\Everything_GetTotResults")
	}
	;返回可见文件结果的数量
	GetNumFileResults()
	{
		return dllcall(this.everyDLL "\Everything_GetNumFileResults")
	}
	;返回文件名
	GetResultFileName(aValue)
	{
		return strget(dllcall(this.everyDLL "\Everything_GetResultFileName",int,aValue))
	}
	;返回文件全路径
	GetResultFullPathName(aValue,cValue=128)
	{
		VarSetCapacity(bValue,cValue*2)
		dllcall(this.everyDLL "\Everything_GetResultFullPathName",int,aValue,str,bValue,int,cValue)
		return bValue
	}
}

给TA捐赠
共{{data.count}}人
人已捐赠
AHKV1

qq防止误触打电话

2022-9-16 7:32:30

AHKV1

办公自动化示例(1)

2022-9-17 13:35:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
有新私信 私信列表
搜索