【已解决】窗口最小化或窗口置后

JRJJ 2024-7-22 986

最新:

Code AardioLine:3复制
  • 1.
  • 2.
  • 3.
    • hwnd=win.find(null,picpickTitle)
    • ::User32.PostMessage(hwnd,0x112/*_WM_SYSCOMMAND*/,0xF020/*_SC_MINIMIZE*/,0);
    • 替代 win.show(hwnd,6/*_SW_MINIMIZE*/) ,彻底解决异常问题。


    我的需求是截图后,调用picpick应用来编辑/预览截图。同时把它最小化。

    或者如何置后窗口,让picpick在最后而不是置顶?

    现在的问题是,如果截图时picpick未启动,截图预览窗口就会变得很小拇指大小。而最要命的问题是,我可能截几次,picpick再点击就不显示窗口了,准确的说是窗口不知道最小化到哪里去了。期望是最小化到任务栏,但实际是窗口给最小化了。


    Code AardioLine:37复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
    • /*截图预览{{*/
    • var preview=function(name){
    • if(not winForm.checkbox.checked){
    • return ;
    • }
    • thread.invoke(
    • function(name){
    • //import console;
    • import process;
    • process.execute("picpick.exe",name);
    • import log4j;
    • logger = log4j.getLogger('printscreen') //参数为日志分类
    • //最小化
    • var obj = io.splitpath(name)
    • var filename=obj.name+obj.ext;
    • var title="PicPick - "+filename;
    • logger.info(title)
    • import win
    • var hwnd
    • var timer=0;
    • while(timer<20){
    • timer = timer+1
    • thread.delay(100)
    • hwnd=win.find(null,title)
    • if(hwnd){
    • thread.delay(100)
    • win.show(hwnd,6/*_SW_MINIMIZE*/)
    • logger.info("窗口最小化:"+title)
    • break
    • }else{
    • logger.info("找不到窗口,继续等待:"+timer)
    • }
    • }
    • },name
    • );
    • }
    • /*}}*/



    最新回复 (0)
    返回