前提是已经有的一个应用程序,做另外一个。因为发现picture无句柄,我怎么样才能让能设置picture.visible为false
或获取该picture显示的图片文件名(资源名)谢。

解决方案 »

  1.   

    //我怎么样才能让能设置picture.visible为false
    Picture1.Visible = False//获取该picture显示的图片文件名(资源名)读取资源的时候顺便把 资源名保存在 Picture1.tag 属性里
      

  2.   

    你是不是要设置另一个程序中的picturebox的属性?要是这样,那就要先找到picturebox的hwnd(使用findwindowex()),然后用setwindowlong进行设置。
      

  3.   

    sorry,描述不准确。
    说错了应该是image,而不是picturebox,开始以为picturebox和image一样都是无句柄的。后面一个兄弟的想法是对的。
    我想大概就是这样的方法吧,但是苦于无句柄,用spy看的。可以肯定的是用的image,而且是用控件数组。对于描述不准确,再次表示歉意。
      

  4.   

    那 image 改用picturebox 吧
      

  5.   

    把它设为visual =false是不可能的
    GetDC()然后根据它相对于窗体的位置得到图片
      

  6.   

    谢,picture是有句柄,但不能改为picture
    因为那个用image是别个做的,没有源代码了。 wwqna(york) 的方法是抓图么,识别么?这样不行,如果屏幕被别的窗口遮住了,就不能啊。
      

  7.   

    人家说的不是picture,是image了,估计VB中的Image控件,窗体运之后也是就直接在窗体上画的
      

  8.   

    如果是直接画上去可以解释没有句柄,但是image又有click等事件,这是怎么回事?
      

  9.   

    那image也可以有覆盖关系啊,不管怎么样起码也应该有个id吧
      

  10.   

    楼主..你直接用 Resource Hacker 等工具来察看 程序文件吧.
    要想完全用vb实现这样你要求的功能几乎是不可能的..