大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
VB.net是带平台开发技术。目的是实现跨系统吧。C#同理
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网络空间、营销软件、网站建设、保靖网站维护、网站推广。
VC++跟VB一样的道理,只是不同编程语言
两个进程都是你自己编写的吗?如果是,那就比较简单,直接用DDE连接就可以了。
如果那个窗体不是你自己编的进程,那就只能用API函数了,比如用sendmessage,这需要学习WINDOWS编程,以便学习那个进程的控件可以接受哪些消息,还要受到那个进程是否用采WINDOWS标准控件的限制。
VB对于win32 API的支持还是不错的。而且比起用C++来说还简化了不少。建议你看些windows系统机制的资料,比如windows消息处理机制,windows窗口过程的实现等。最好是去看看MFC的教程,会让你对win32 API有更深入的了解。推荐孙鑫的《VC++深入详解》,给其他窗体发送消息,钩子什么的都有详细的解释。
关于做钩子,使用SetWindowsHookEx,UnhookWindowsHookEx,CallNextHookEx,CopyMemory四个win32 API函数,再加上一个自己写的回调函数就可以实现。
控制别的窗体最小化,给其他窗体发送消息,首先用FindWindow函数找到目标窗体的句柄(对于VB自己的窗体来说Me.hwnd属性),然后用SendMessage,PostMessage函数发送消息。还可以用SetWindowText但是windows消息有几百种,各种消息的参数可能是不同的。要查MSDN搞懂你要使用的消息的参数结构。
代码:关闭其他窗口:
模块中的声明:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WM_CLOSE = H10 '定义消息常量
窗体中:
Dim hnd As Long '定义一个长整型变量储存句柄
Private Sub Form_Load()
hnd = FindWindow(vbNullString, "test") '获取目标窗体句柄,这里目标窗体的标题为"test"
SendMessage hnd, WM_CLOSE, 0, 0 '发送WM_CLOSE消息关闭窗体
End Sub