1.newwin说明
2.WinExec都有什么用法,函函数函数功能是数源什么?
3.EnumServicesStatus函数介绍
4.window.openç示ä¾
5.WinSetTrans示例/演示
newwin说明
newwin函数的主要功能是用于创建一个新的图形窗口。这个窗口的函函数初始位置由两个参数确定,即begin_y和begin_x,数源它们分别代表窗口在屏幕上的函函数起始行和列。窗口的数源blockly源码小程序大小由nlines和ncols参数指定,分别表示行数和列数。函函数当调用newwin时,数源它会返回一个指向新窗口的函函数指针,如果创建过程不成功,数源就会返回null值。函函数
值得注意的数源是,如果希望新窗口的函函数yarn组件源码右下角与屏幕的右下角对齐,可以将begin_y和begin_x设为0。数源然而,函函数新窗口的大小和位置必须在当前屏幕范围之内,否则newwin函数的调用将会失败,因为不允许窗口超出屏幕的边界。
newwin创建的窗口是独立的,这意味着它与已存在的窗口完全隔离,互不影响。默认情况下,新窗口会覆盖屏幕上的现有窗口,但不会更改它们的内容。这意味着,dejone函数源码即使有其他窗口在屏幕上,新创建的窗口也会显示在它们之上,占据其位置,而不会影响原有的窗口显示。
WinExec都有什么用法,函数功能是什么?
在Windows程序设计中WinAPI也为我们提供了类似的函数,它就是WinExec()
1)WinExec() 函数原型:
UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow);
参数说明:(激活的意思是能接受焦点,即标题栏变成蓝色)
lpCmdLine:以0结尾的字符串,命令行参数。
uCmdShow:新的应用程序的运行方式。其取值如下:
SW_HIDE 隐藏
SW_MAXIMIZE 最大化
SW_MINIMIZE 最小化,并把Z order顺序在此窗口之后(即窗口下一层)的存钱app源码窗口激活
SW_RESTORE 激活窗口并还原为初始化大小 SW_SHOW 以当前大小和状态激活窗口
SW_SHOWDEFAULT 以默认方式运行
SW_SHOWMAXIMIZED 激活窗口并最大化
SW_SHOWMINIMIZED 激活窗口并最小化
SW_SHOWMINNOACTIVE 最小化但不改变当前激活的窗口
SW_SHOWNA 以当前状态显示窗口但不改变当前激活的窗口
SW_SHOWNOACTIVATE 以初始化大小显示窗口但不改变当前激活的窗口
SW_SHOWNORMAL 激活并显示窗口,如果是最大(小)化,窗口将会还原。第一次运行程序 时应该使用这个值
比如说,我想要用记事本打开"C:\HDC.TXT",以正常方式运行:
WinExec("notepad c:\\hdc.txt",SW_SHOWNORMAL);
如果调用成功,这个函数会返回一个不小于的值,否则调用失败,其返回值的意义如下:
0 系统内存或资源不足
ERROR_BAD_FORMAT .EXE文件格式无效(比如不是位应用程序)
ERROR_FILE_NOT_FOUND 指定的文件设有找到
ERROR_PATH_NOT_FOUND 指定的路径没有找到
这个函数和system()非常类似,只能运行.EXE文件,这样在WINDOWS中有它不尽人意的地方,比如不能用此方法通过关联的方法打开文件,例如WinExec("1.html",grbl修改源码SW_SHOWNA);就不能打开此文档。
EnumServicesStatus函数介绍
EnumServicesStatus函数是Windows系统中用于枚举当前系统服务状态的API。该函数的原型为: BOOL WINAPI EnumServicesStatus(__in SC_HANDLE hSCManager,
__in DWORD dwServiceType,
__in DWORD dwServiceState,
__out LPENUM_SERVICE_STATUS lpServices,
__in DWORD cbBufSize,
__out LPDWORD pcbBytesNeeded,
__out LPDWORD lpServicesReturned,
__in_out LPDWORD lpResumeHandle
);
参数详解:hSCManager: 服务控制管理器数据库的句柄,由OpenSCManager函数返回,需要具有SC_MANAGER_ENUMERATE_SERVICE访问权限。
dwServiceType: 要枚举的服务类型,可以是以下值之一:SERVICE_DRIVER(枚举KERNEL_DRIVER和服务FILE_SYSTEM_DRIVER类型的服务)、SERVICE_WIN(枚举SERVICE_WIN_OWN_PROCESS和服务SERVICE_WIN_SHARE_PROCESS类型的服务)等。
dwServiceState: 要枚举的服务状态,可以是SERVICE_ACTIVE(服务处于START_PENDING、STOP_PENDING、RUNNING、CONTINUE_PENDING、PAUSE_PENDING或PAUSED状态)、SERVICE_INACTIVE(服务处于STOPPED状态)或SERVICE_STATE_ALL(结合ACTIVE和INACTIVE状态)。
lpServices: 用于存放枚举结果的结构体数组,包含服务名称和状态信息,需要足够大以容纳所有结构体和指向的字符串。
cbBufSize: 指向lpServices的缓冲区大小,以字节为单位。
pcbBytesNeeded: 接收剩余服务条目所需的字节数,如果缓冲区太小。
lpServicesReturned: 接收返回的服务条目数量。
lpResumeHandle: 输入时指定枚举的起始点,首次调用时应设置为0。成功返回时为0,但若返回0且GetLastError返回ERROR_MORE_DATA,此值用于指示下次调用时应读取的服务条目。
此函数的主要作用是根据指定的类型和状态,获取系统中对应服务的详细信息。通过调整参数,开发人员可以灵活地获取所需服务的详细枚举结果。window.openç示ä¾
1ãæåºæ¬çå¼¹åºçªå£ä»£ç å ¶å®ä»£ç é常ç®åï¼
<SCRIPT LANGUAGE=javascript>
<!--
window.open ('page.html')
-->
</SCRIPT>
å 为è¿æ¯ä¸æ®µjavascripts代ç ï¼æ以å®ä»¬åºè¯¥æ¾å¨<SCRIPT LANGUAGE=javascript>ï¼æ ç¾å</script>ï¼ä¹é´ã<!-- å -->ï¼æ¯å¯¹ä¸äºçæ¬ä½çæµè§å¨èµ·ä½ç¨ï¼å¨è¿äºèæµè§å¨ä¸ä¸ä¼å°æ ç¾ä¸ç代ç ä½ä¸ºææ¬æ¾ç¤ºåºæ¥ãè¦å »æè¿ä¸ªå¥½ä¹ æ¯åã
Window.open ('page.html') ç¨äºæ§å¶å¼¹åºæ°ççªå£page.htmlï¼å¦æpage.htmlä¸ä¸ä¸»çªå£å¨åä¸è·¯å¾ä¸ï¼åé¢åºåæè·¯å¾ï¼ç»å¯¹è·¯å¾ï¼http://ï¼åç¸å¯¹è·¯å¾ï¼../ï¼åå¯ãç¨åå¼å·ååå¼å·é½å¯ä»¥ï¼åªæ¯ä¸è¦æ··ç¨ã
è¿ä¸æ®µä»£ç å¯ä»¥å å ¥HTMLçä»»æä½ç½®ï¼<head>ï¼å</head>ï¼ä¹é´å¯ä»¥ï¼<body>ï¼é´</body>ï¼ä¹å¯ä»¥ï¼è¶åè¶æ©æ§è¡ï¼å°¤å ¶æ¯é¡µé¢ä»£ç é¿ï¼åæ³ä½¿é¡µé¢æ©ç¹å¼¹åºå°±å°½éå¾åæ¾ã
ã2ãç»è¿è®¾ç½®åçå¼¹åºçªå£ã
ä¸é¢å说ä¸è¯´å¼¹åºçªå£ç设置ãåªè¦åå¾ä¸é¢ç代ç ä¸å ä¸ç¹ä¸è¥¿å°±å¯ä»¥äºã
æ们æ¥å®å¶è¿ä¸ªå¼¹åºççªå£çå¤è§ï¼å°ºå¯¸å¤§å°ï¼å¼¹åºçä½ç½®ä»¥éåºè¯¥é¡µé¢çå ·ä½æ åµã
<SCRIPT LANGUAGE=javascript>
<!--
window.open ('page.html','newwindow','height=,width=,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no')
//åæä¸è¡
-->
</SCRIPT>
åæ°è§£éï¼
<SCRIPT LANGUAGE=javascript> jsèæ¬å¼å§ï¼
window.open å¼¹åºæ°çªå£çå½ä»¤ï¼
'page.html' å¼¹åºçªå£çæ件åï¼
'newwindow' å¼¹åºçªå£çååï¼ä¸æ¯æ件åï¼ï¼éå¿ é¡»ï¼å¯ç¨ç©º''代æ¿ï¼
height= çªå£é«åº¦ï¼
width= çªå£å®½åº¦ï¼
top=0 çªå£è·ç¦»å±å¹ä¸æ¹çè±¡ç´ å¼ï¼
left=0 çªå£è·ç¦»å±å¹å·¦ä¾§çè±¡ç´ å¼ï¼
toolbar=no æ¯å¦æ¾ç¤ºå·¥å ·æ ï¼yes为æ¾ç¤ºï¼
menubarï¼scrollbars 表示èåæ åæ»å¨æ ã
Resizable=no æ¯å¦å 许æ¹åçªå£å¤§å°ï¼yes为å 许ï¼
location=no æ¯å¦æ¾ç¤ºå°åæ ï¼yes为å 许ï¼
status=no æ¯å¦æ¾ç¤ºç¶ææ å çä¿¡æ¯ï¼é常æ¯æ件已ç»æå¼ï¼ï¼yes为å 许ï¼
</SCRIPT> jsèæ¬ç»æ
ã3ãç¨å½æ°æ§å¶å¼¹åºçªå£ã
ä¸é¢æ¯ä¸ä¸ªå®æ´ç代ç ã
<html>
<head>
<script LANGUAGE=JavaScript>
<!--
function openwin() { window.open (page.html,newwindow,height=,width=,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no)
//åæä¸è¡
}
//-->
</script>
</head>
<body onload=openwin()>
â¦ä»»æç页é¢å 容â¦
</body>
</html>
è¿éå®ä¹äºä¸ä¸ªå½æ°openwinï¼ï¼ï¼å½æ°å 容就æ¯æå¼ä¸ä¸ªçªå£ãå¨è°ç¨å®ä¹å没æä»»ä½ç¨éã
æä¹è°ç¨å¢ï¼
æ¹æ³ä¸ï¼<body onload=openwin()> æµè§å¨è¯»é¡µé¢æ¶å¼¹åºçªå£ï¼
æ¹æ³äºï¼<body onunload=openwin()> æµè§å¨ç¦»å¼é¡µé¢æ¶å¼¹åºçªå£ï¼
æ¹æ³ä¸ï¼ç¨ä¸ä¸ªè¿æ¥è°ç¨ï¼
<a href=# onclick=openwin()>ï¼æå¼ä¸ä¸ªçªå£</a>
注æï¼ä½¿ç¨ç#æ¯èè¿æ¥ã
æ¹æ³åï¼ç¨ä¸ä¸ªæé®è°ç¨ï¼
<input type=button onclick=openwin() value=æå¼çªå£>
ã4ãåæ¶å¼¹åº2个çªå£ã
对æºä»£ç ç¨å¾®æ¹å¨ä¸ä¸ï¼
<script LANGUAGE=JavaScript>
<!--
function openwin()
{ window.open (page.html,newwindow,height=,width=,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no)
//åæä¸è¡
window.open (page2.html,newwindow2,height=,width=,top=,left=,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no)
//åæä¸è¡
}
//-->
</script>
为é¿å å¼¹åºç2个çªå£è¦çï¼ç¨topåleftæ§å¶ä¸ä¸å¼¹åºçä½ç½®ä¸è¦ç¸äºè¦çå³å¯ãæåç¨ä¸é¢è¯´è¿çåç§æ¹æ³è°ç¨å³å¯ã
注æï¼2个çªå£çname(newwindowsånewwindow2ï¼ä¸è¦ç¸åï¼æè å¹²èå ¨é¨ä¸ºç©ºãOKï¼
ã5ã主çªå£æå¼æ件1.htmï¼åæ¶å¼¹åºå°çªå£page.htmlã
å¦ä¸ä»£ç å å ¥ä¸»çªå£<head>ï¼åºï¼
<script language=javascript>
<!--
function openwin()
{ window.open(page.html,,width=,height=)
}
//-->
</script>
å å ¥<body>ï¼åºï¼
<a href=1.htm onclick=openwin()>open</a>ï¼å³å¯ã
ã6ãå¼¹åºççªå£ä¹å®æ¶å ³éæ§å¶ã
ä¸é¢æ们å对弹åºççªå£è¿è¡ä¸äºæ§å¶ï¼ææå°±æ´å¥½äºãå¦ææ们åå°ä¸å°æ®µä»£ç å å ¥å¼¹åºç页é¢ï¼æ³¨ææ¯å å ¥å°page.htmlçHTMLä¸ï¼å¯ä¸æ¯ä¸»é¡µé¢ä¸ï¼å¦åâ¦ï¼ï¼è®©å®ç§åèªå¨å ³éæ¯ä¸æ¯æ´é ·äºï¼
é¦å ï¼å°å¦ä¸ä»£ç å å ¥page.htmlæ件ç<head>ï¼åºï¼
<script language=JavaScript>
function closeit()
{ setTimeout(self.close(),) //毫ç§}
</script>
ç¶åï¼åç¨<body onload=closeit()> è¿ä¸å¥è¯ä»£æ¿page.htmlä¸åæç<BODY>ï¼è¿ä¸å¥å°±å¯ä»¥äºãï¼è¿ä¸å¥è¯åä¸ä¸è¦å¿è®°ååï¼è¿ä¸å¥çä½ç¨æ¯è°ç¨å ³éçªå£ç代ç ï¼ç§éåå°±èªè¡å ³é该çªå£ãï¼
ã7ãå¨å¼¹åºçªå£ä¸å ä¸ä¸ä¸ªå ³éæé®ã
<FORM>
<INPUT TYPE='BUTTON' VALUE='å ³é' onClick='window.close()'>
</FORM>
åµåµï¼ç°å¨æ´å å®ç¾äºï¼
ã8ãå å å«çå¼¹åºçªå£-ä¸ä¸ªé¡µé¢ä¸¤ä¸ªçªå£ã
ä¸é¢çä¾åé½å å«ä¸¤ä¸ªçªå£ï¼ä¸ä¸ªæ¯ä¸»çªå£ï¼å¦ä¸ä¸ªæ¯å¼¹åºçå°çªå£ã
éè¿ä¸é¢çä¾åï¼ä½ å¯ä»¥å¨ä¸ä¸ªé¡µé¢å å®æä¸é¢çææã
<html>
<head>
<SCRIPT LANGUAGE=JavaScript>
function openwin()
{ OpenWindow=window.open(,newwin,height=,width=,toolbar=no,scrollbars=+scroll+,menubar=no);
//åæä¸è¡
OpenWindow.document.write(<TITLE>ï¼ä¾å</TITLE>)
OpenWindow.document.write(<BODY BGCOLOR=#ffffff>)
OpenWindow.document.write(<h1>Hello!</h1>)
OpenWindow.document.write(New window opened!)
OpenWindow.document.write(</BODY>)
OpenWindow.document.write(</HTML>)
OpenWindow.document.close()}
</SCRIPT>
</head>
<body>
<a href=# onclick=openwin()>ï¼æå¼ä¸ä¸ªçªå£</a>
<input type=button onclick=openwin() value=æå¼çªå£>
</body>
</html>
çç OpenWindow.document.writeï¼ï¼éé¢ç代ç ä¸å°±æ¯æ åçHTMLåï¼åªè¦æç §æ ¼å¼åæ´å¤çè¡å³å¯ãåä¸æ³¨æå¤ä¸ä¸ªæ ç¾æå°ä¸ä¸ªæ ç¾å°±ä¼åºç°é误ãè®°å¾ç¨OpenWindow.document.closeï¼ï¼ç»æåã
ã9ãç»æåºç¨--å¼¹åºççªå£ä¹Cookieæ§å¶ã
åæ³ä¸ä¸ï¼ä¸é¢çå¼¹åºçªå£è½ç¶é ·ï¼ä½æ¯æä¸ç¹å°æ¯ç ï¼æ²æµ¸å¨åæ¦ä¹ä¸ï¼ä¸å®æ²¡æåç°å§ï¼ï¼æ¯å¦ä½ å°ä¸é¢çèæ¬æ¾å¨ä¸ä¸ªéè¦é¢ç¹ç»è¿ç页é¢éï¼ä¾å¦é¦é¡µï¼ï¼é£ä¹æ¯æ¬¡å·æ°è¿ä¸ªé¡µé¢ï¼çªå£é½ä¼å¼¹åºä¸æ¬¡ï¼æ¯ä¸æ¯é常ç¦äººï¼ï¼-ï¼æ解å³çåæ³åï¼Yes! ;-) Follow me.
æ们使ç¨cookieæ¥æ§å¶ä¸ä¸å°±å¯ä»¥äºã
é¦å ï¼å°å¦ä¸ä»£ç å å ¥ä¸»é¡µé¢HTMLç<HEAD>ï¼åºï¼
<script>
function openwin()
{ window.open(page.html,,width=,height=)}
function get_cookie(Name)
{ var search = Name + =
var returnvalue = ;
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1ï¼ {
offset += search.length
end = document.cookie.indexOf(;,offset);
if (end == -1ï¼
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset,end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie('popped')==''){
openwin()
document.cookie=popped=yes
}
}
</script>
ç¶åï¼ç¨<body onload=loadpopup()>ï¼ï¼æ³¨æä¸æ¯openwinèæ¯loadpopåï¼ï¼æ¿æ¢ä¸»é¡µé¢ä¸åæç<BODY>ï¼è¿ä¸å¥å³å¯ãä½ å¯ä»¥è¯çå·æ°ä¸ä¸è¿ä¸ªé¡µé¢æéæ°è¿å ¥è¯¥é¡µé¢ï¼çªå£åä¹ä¸ä¼å¼¹åºäºãçæ£çPop-Only-Onceï¼
åå°è¿éå¼¹åºçªå£çå¶ä½ååºç¨æå·§åºæ¬ä¸ç®æ¯å®æäºï¼ä¿ºä¹ç´¯åäºï¼ä¸å£æ°è¯´äºè¿ä¹å¤ï¼å¸æ对æ£å¨å¶ä½ç½é¡µçæåææ帮å©ä¿ºå°±éå¸¸æ¬£æ °äºã
éè¦æ³¨æçæ¯ï¼JSèæ¬ä¸çç大å°åæ好ååä¿æä¸è´ã
WinSetTrans示例/演示
在编程领域,WinSetTrans函数常用于调整Windows应用程序窗口的透明度。该函数的用法相对直接,通过参数配置,能够实现对窗口外观的微调。以"WinSetTrans示例/演示"为例,我们将展示如何使用此函数来使记事本(Notepad)窗口呈现出半透明效果。
首先,通过设置`Opt("WinTitleMatchMode",2)`这一行代码,我们指定在后续操作中,程序将基于窗口的标题进行精确匹配,而不是基于窗口的类名。这样做可以确保后续操作的精准度。
接下来,使用`Run("notepad.exe")`这一命令来启动记事本应用程序。这一步骤是基础,确保我们有目标窗口可以进行后续的调整操作。
随后,通过`WinWaitActive("[CLASS:Notepad]")`确保记事本窗口处于活动状态。这是操作前的预热步骤,确保所设置的函数能够正确作用于目标窗口。
最后,关键步骤在于`WinSetTrans("[CLASS:Notepad]","",)`。这行代码调用WinSetTrans函数,目标是调整记事本窗口的透明度。参数`"[CLASS:Notepad]"`标识了我们要调整的窗口,`""`表示窗口标题,而``则是透明度值,范围在0到之间,意味着窗口将呈现出半透明效果。
总结以上流程,通过合理配置和调用WinSetTrans函数,我们不仅能够实现窗口透明度的调整,还能让日常使用的记事本窗口更加个性化。这一实例展示了函数在实际编程中的应用,对于想要探索Windows应用程序自动化或界面调整的开发者来说,无疑是一个很好的实践案例。