如何给外部程序指定打开坐标

urancs 2005-01-27 05:01:16
比如说我通过process打开一帐图片我怎么才能让这张图片在我屏幕的左上脚打开呢,还有我怎么可以让这张图片以我指定的大小(320*240)打开呢?
...全文
106 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
urancs 2005-01-28
  • 打赏
  • 举报
回复
thanks for chenyuming2004(这辈子我算是废了) ,最后一个问题,当我打开一个程序后,再打开另一个程序时就不会按照指定位置打开了
例:
process1.StartInfo.FileName="photoshop.exe";
process1.Start();
System.IntPtr ptr1=process1.MainWindowHandle;
MoveWindow1((int)ptr1,0,0,100,100,1);

process2.StartInfo.FileName="photoshop.exe";
process2.Start();
System.IntPtr ptr2=process2.MainWindowHandle;
MoveWindow2((int)ptr2,100,0,100,100,1);


MoveWindow2就不起作用了
chenyuming2004 2005-01-28
  • 打赏
  • 举报
回复
MoveWindow((int)ptr,100,100,400,500,1);

最后一个参数换成1,试试看。
urancs 2005-01-28
  • 打赏
  • 举报
回复
谢谢chenyuming2004,功能现在可以实现了,不过还有一个问题,就是当执行完该api调用后必须要刷新一下桌面,程序才能被拽过去,请问有没有更好的解决方式,或是怎样让程序自动刷新桌面
chenyuming2004 2005-01-27
  • 打赏
  • 举报
回复
[DllImport("user32.dll", EntryPoint="MoveWindow")]
public static extern int MoveWindow (
int hwnd,
int x,
int y,
int nWidth,
int nHeight,
int bRepaint
);


System.Diagnostics.Process p=new System.Diagnostics.Process();
p.StartInfo.FileName="notepad.exe";
p.Start();
System.IntPtr ptr=p.MainWindowHandle;
MoveWindow((int)ptr,0,0,800,600,0);
urancs 2005-01-27
  • 打赏
  • 举报
回复
没有人会吗? - - 是不是无法实现呢!
心情解码 2005-01-27
  • 打赏
  • 举报
回复
up






---
urancs 2005-01-27
  • 打赏
  • 举报
回复
图片只是举例,当然打开的可能是photoshop或者VB,VC等等
LoveCherry 2005-01-27
  • 打赏
  • 举报
回复
mark
landlordh 2005-01-27
  • 打赏
  • 举报
回复
如果是web,用JS很好控制
yufenfeila 2005-01-27
  • 打赏
  • 举报
回复
如果只是打开图片,那就别用process了

添加一个form,放个picturebox控件,这样就可以控制大小和位置了

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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