请教API高手,如何取第三方程序TDXTreeList中的内容

请教API高手,如何取第三方程序TDXTreeList中的内容,第1张

第一步,我先从简单的调用出发,定义了一个简单的函数,该函数仅仅实现一个整数加法求和:

LIBEXPORT_API int mySum(int a,int b){ return a+b;}

C# 导入定义:

public class RefComm

{

[DllImport("LibEncryptdll",

EntryPoint=" mySum ",

CharSet=CharSetAuto,CallingConvention=CallingConventionStdCall)]

public static extern int mySum (int a,int b);

}

在C#中调用测试:

int iSum = RefCommmySum(,);

运行查看结果iSum为5,调用正确。第一步试验完成,说明在C#中能够调用自定义的动态链接库函数。

第二步,我定义了字符串 *** 作的函数(简单起见,还是采用前面的函数名),返回结果为字符串:

LIBEXPORT_API char mySum(char a,char b){sprintf(b,"%s",a); return a;}

C# 导入定义:

public class RefComm

{

[DllImport("LibEncryptdll",

EntryPoint=" mySum ",

CharSet=CharSetAuto,

CallingConvention=CallingConventionStdCall)]

public static extern string mySum (string a, string b);

}

累死

真TM难搞

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const LB_GETCOUNT = &H18B

Private Const LB_GETTEXT = &H189

Private Const LB_GETTEXTLEN = &H18A

Private Sub Command1_Click()

Dim hWindow As Long, hList As Long

hWindow = FindWindow("ThunderFormDC", "我的窗口标题")

'DebugPrint hWindow

If hWindow = 0 Then Exit Sub

hList = FindWindowEx(hWindow, 0, "ThunderListBox", vbNullString)

'DebugPrint hList

If hList = 0 Then Exit Sub

Dim ListCount As Long

ListCount = SendMessage(hList, LB_GETCOUNT, 0, 0)

'DebugPrint ListCount

If ListCount = 0 Then Exit Sub

Dim i As Long, ItemText As String, ItemLen As Long, AllText As String

For i = 0 To ListCount - 1

ItemLen = SendMessage(hList, LB_GETTEXTLEN, i, 0)

ItemText = Space(ItemLen)

SendMessage hList, LB_GETTEXT, i, ByVal ItemText

'DebugPrint ItemText

AllText = AllText & ItemText & vbCrLf

Next

Text1Text = AllText

End Sub

Private Sub Form_Load()

For i = 1 To 9

List1AddItem String(i, CStr(i))

Next

End Sub

窗体上放一个listbox一个textbox一个commandbutton

textbox的MultiLine设为True

原理是先用findwindow按窗口标题找到窗口句柄,然后用findwindoex找到该窗体的listbox控件句柄(必须是VB程序,类名不对找不到的),然后sendmesssage给它,把内容传回来

我给楼主害惨了,说让写成txt文件,我懒得写,那就按楼主次要求写进自己的listbox,这可晕死,我就是放了第二个listbox才搞到现在啊,findwindowex先找到第二个,里面空的,当然失败啦,晕死我了这一晚上

现在是写进textbox里了,其他部分自己改吧

===============

晕了晕了,记得把窗体caption改成“我的窗口标题”,因为是靠窗体名字找的嘛

你用时就要把代码中的“我的窗口标题”改成你要得到list内容的那个窗口的标题了

首先你要完成这个p功能需要编程,你说的管理和在excel里面嵌入t网页并不p矛盾也v就是一j个u个p打开v的事情,若要自动输入o密码就需要使用高级编程技巧,即获得网页句柄和元s素,自动填写用户1名和网页密码第二u你要自动登录的话仅6仅2记住密码是不r行的,因为4网站都有验证码 除非使用网站自带的自动登录功能第三t如果是都管理了w几v千s个r网站的话,建议出钱找人q开w发个j管理软件 肯定能满足你的要求

指令:listget(listsize()-1);

C语言中List的含义:

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构, *** 作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。

使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。链表有很多种不同的类型:单向链表,双向链表以及循环链表。链表可以在多种编程语言中实现。像Lisp和Scheme这样的语言的内建数据类型中就包含了链表的存取和 *** 作。程序语言或面向对象语言,如C,C++和Java依靠易变工具来生成链表。

首先是先回问你第二个问题的一个问题,你的ListView的数据源是什么?你可以在数据源方面来添加一个传输,再回答你第一个问题,在ListView 里的事件

ListView_SelectItemChanged 的事件,在这里写Messageboxshow(ListViewselectItemitems[]toString());就是你要显示内容行-1;

以上就是关于请教API高手,如何取第三方程序TDXTreeList中的内容全部的内容,包括:请教API高手,如何取第三方程序TDXTreeList中的内容、用VB获取外部程序List1的item内容、VB2005中如何能够获取另一个程序(一个外部软件,比如像360这样的软件)中list控件中的数据。采纳后追加50等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9592155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存