不好意思 请问:如何把调用的外部程序在屏幕指定位置运行?

firewoods 2008-03-13 02:30:19
求教 如题。
我目前在翻书自学visual basic 2005 这就是(传说中的)VB.net吧?

我想实现的是:

在点击一个按钮时 把调用的外部程序 放在屏幕上的指定位置运行 这样比较整齐 也比较好管理
另外 最好能监控一下这个程序的运行情况 比如:窗口虽然还在 但是已经停止运行了 或者干脆死掉了
最好能处理一下
呵呵

通过查找 目前已经解决了从外部调用指定程序了 但是其它的怎么写 就查不到了 汗。。。
调用外部程序(非可执行文件) 我使用的代码如下:
Shell("Rundll32.exe url.dll, FileProtocolHandler 路径*.lnk")这个没问题 嘻嘻
补充一下 偶是新学VB2005的 从前没基础 (VB6等没有接触过)
谢谢了!

有劳各位高手了!!
谢谢!请不吝赐教!
学生再拜!祝开心!
...全文
319 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
firewoods 2008-03-22
  • 打赏
  • 举报
回复
感谢楼上的诸位大大

偶找到一个API函数速查软件
该软件中还有一些例子 嘻嘻
太适合我这样的笨鸟了 哈哈

firewoods 2008-03-20
  • 打赏
  • 举报
回复
求教:
以下这个调用中
下面的是通过按钮或其他功能的调用:
intPSHandle =GetWindowHandle("adobe photoshop")
MoveWindow(intPSHandle, X的值, Y的值,Width的值,高的值, 1)

我的VB2005系统提示是
intPSHandle 和 MoveWindow “应为声明”

汗。。。咋声明啊?
firewoods 2008-03-20
  • 打赏
  • 举报
回复
偶一共只有20分
请问 如何才能给分又不需要结贴呢?
firewoods 2008-03-19
  • 打赏
  • 举报
回复
提请版主帮忙:
前面的回帖因为网页延迟 偶多点击了几次“回复”按钮
所以 多回了几贴 请帮忙啦
firewoods 2008-03-19
  • 打赏
  • 举报
回复
但是 执行了Return语句之后 应该是退出了函数了吧?
如果想实现循环的话
应该使用一个循环函数吧? 比如 FOR....NEXT....
为节约系统资源 是否应该加上一个延时功能的变量?
比如每若干毫秒执行一次?
firewoods 2008-03-19
  • 打赏
  • 举报
回复

学生想实现的功能 是否编译如下:

' ------------------------------------------------------------------------------------------------------
' Description: 获取与指定字符串相匹配的窗口类名或窗口名的最顶层窗口的窗口句柄
' Parameters: WindowName 指定的窗口类名或窗口名
' Return: 返回指定窗口的句柄
' ------------------------------------------------------------------------------------------------------

插入模块:
模块中的代码如下:
先声明公共变量:
Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth

As Integer, ByVal nHeight As Integer, ByVal bRepaint As Integer) As Integer
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As

String) As Integer



Public Function GetWindowHandle(ByVal WindowName As String) As Integer
Dim intAppHandle As Integer
intAppHandle = FindWindow(vbNullString, WindowName)
Return intAppHandle
End Function

下面的是通过按钮或其他功能的调用:
intPSHandle =GetWindowHandle("adobe photoshop")
MoveWindow(intPSHandle, X的值, Y的值,Width的值,高的值, 1)


学生求教:
“WindowName”一项中 如果那个软件的运行窗口没名字咋办?
指定其文件名成么?或者加上存盘路径?
firewoods 2008-03-19
  • 打赏
  • 举报
回复
学生求教:
“WindowName”一项中 如果那个软件的运行窗口没名字咋办?
指定其文件名成么?或者加上存盘路径?
firewoods 2008-03-15
  • 打赏
  • 举报
回复
谢谢 ConanKid 兄的提醒!
只是我有急用 所以只好退而求其次了
万望各位朋友见谅!

实在是太着急了 所以没办法了 只好一边看书 一边上来发帖了
不怕各位笑话 学生我这里还有一大堆问题 但是 都不知道该如何提问才好
我前几天就意识到自己的差距了
可是 因为着急 所以也只好厚着脸皮来问了
上次发帖 错贴在了VB区
有个朋友很热心 见我急用 甚至都帮我做好了一个工程给我发了过来
我稀里糊涂的用vb2005打开了 晕死了

说到头来 这里的朋友的热心和热忱 令我感触颇深 也很感激!

再次感谢为我这个“幼儿园”水平的后辈提供帮助的各位博士后导师级的朋友们!
谢谢你们了!

以后难免还要麻烦大家 学生我在此事先致谢了!
rangeon 2008-03-14
  • 打赏
  • 举报
回复
楼主挺客气的,还“不好意思”^_^
ConanKid 2008-03-14
  • 打赏
  • 举报
回复
楼主不要跨越太大,慢慢来.去学一下VB.NET中是如何声明及调用API的.
ConanKid 2008-03-14
  • 打赏
  • 举报
回复
打个比方:你看一本书的时候,你只认识其中的几个字,而其它字都要查字典,你能看下这本书吗?所以建议你先看字简单又短的小故事.
firewoods 2008-03-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ConanKid 的回复:]
楼主不要跨越太大,慢慢来.去学一下VB.NET中是如何声明及调用API的.
[/Quote]

偶看书还没看到调用API函数 汗啊 呵呵
我才刚看到如何加入模块 嘻嘻

我先自己鼓捣着 不明白的偶就来发帖了

谢谢各位大大!
firewoods 2008-03-14
  • 打赏
  • 举报
回复
感谢楼上的诸位大大!

感谢llsus兄!
感谢yanlongwuhui兄!
感谢zcsor兄!
感谢napsoft兄!

实在惭愧
以上函数偶不知道放在哪里
汗啊!

比如 插入一个模块来循环执行监视外部软件的运行状态?

—_—|||
yanlongwuhui 2008-03-13
  • 打赏
  • 举报
回复
API函数声明:
Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal bRepaint As Integer) As Integer
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer


' ------------------------------------------------------------------------------------------------------
' Description: 获取与指定字符串相匹配的窗口类名或窗口名的最顶层窗口的窗口句柄
' Parameters: WindowName 指定的窗口类名或窗口名
' Return: 返回指定窗口的句柄
' ------------------------------------------------------------------------------------------------------
Public Function GetWindowHandle(ByVal WindowName As String) As Integer
Dim intAppHandle As Integer
intAppHandle = FindWindow(vbNullString, WindowName)
Return intAppHandle
End Function

调用如下:
intPSHandle =GetWindowHandle("adobe photoshop")
MoveWindow(intPSHandle, X的值, Y的值,Width的值,高的值, 1)
dengqiaonet 2008-03-13
  • 打赏
  • 举报
回复
setwindowspos,继续学习
llsus 2008-03-13
  • 打赏
  • 举报
回复
屏幕上任何窗口都可以通过API函数SetWindowsPos来设置它的位置,大小,Z-order顺序等
清晨曦月 元老 2008-03-13
  • 打赏
  • 举报
回复
。。。。。。。。。。。。。。。。。。。。。
流梓 2008-03-13
  • 打赏
  • 举报
回复
楼主可以去查一下API函数,通过GetWindowHandle 的findwindow 要找外部程序句柄。
清晨曦月 元老 2008-03-13
  • 打赏
  • 举报
回复
SetWindowsPos,正确。。。。。就是这个稿

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧