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

JRJJ 4月前 468

最新:

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再点击就不显示窗口了,准确的说是窗口不知道最小化到哪里去了。期望是最小化到任务栏,但实际是窗口给最小化了。


/*截图预览{{*/
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)
返回