SystemTray.cpp
SystemTray.cpp
_tcscpy
_tcscpy 把參2復(fù)制到參1并返回參1
_tcscpy是一個(gè)拷貝字符串,源字符串指針是strSource,有strcpy、wcscpy、_mbscpy三種類(lèi)型,這三種形式都返回目標(biāo)字符串。
函數(shù)原型
char *strcpy( char *strDestination, const char *strSource );
wchar_t *wcscpy( wchar_t *strDestination, const wchar_t *strSource );
unsigned char *_mbscpy( unsigned char *strDestination, const unsigned char *strSource );
常見(jiàn)名稱(chēng) 要求的頭文件 兼容方案
strcpy <string.h> ANSI, Win 95, Win NT
wcscpy <string.h> or <wchar.h> ANSI, Win 95, Win NT
_mbscpy <mbstring.h> Win 95, Win NT
參數(shù)說(shuō)明
strDestination 目標(biāo)字符串指針
strSource 源字符串指針
返回值
三種形式都返回目標(biāo)字符串.若無(wú)返回值,則為保留情況,用來(lái)檢測(cè)錯(cuò)誤信息.
說(shuō)明:
strcpy函數(shù)將拷貝strSource, 包括終端的null字符,
wcscpy and _mbscpy為寬字節(jié)和多字節(jié)版的strcpy.其參數(shù)與返回值也是寬字節(jié)或多字節(jié)的.
SetMenuDefaultItem
說(shuō)明
將一個(gè)菜單條目設(shè)為默認(rèn)條目。這個(gè)條目會(huì)轉(zhuǎn)換成雙擊菜單時(shí)執(zhí)行的操作
Declare Function SetMenuDefaultItem Lib “user32” Alias “SetMenuDefaultItem”
(ByVal hMenu As Long, ByVal uItem As Long, ByVal fByPos As Long) As Long
Win32函數(shù)原型:BOOL SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos);
參數(shù):
hMenu:將為其設(shè)置缺省菜單項(xiàng)的菜單的句柄。
uItem:新缺省菜單項(xiàng)的標(biāo)識(shí)符或位置,無(wú)缺省項(xiàng)時(shí),取值為C1。此參數(shù)的含義由參數(shù)fByPoS的值決定。
fByPos:用于確定參數(shù)ultem的值的含義。如果此參數(shù)為FALSE,參數(shù)ultem表示菜單項(xiàng)的標(biāo)識(shí)符。否則,表示菜單項(xiàng)的位置。
返回值:Long類(lèi)型,如果函數(shù)調(diào)用成功,返回非零值;如果函數(shù)調(diào)用失敗,返回值是零。若想獲得更多的錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。
CWnd::GetSafeHwnd
返回m_hWnd,則為 null這指針為 NULL。
HWND GetSafeHwnd() const;返回值
返回一個(gè)窗口的窗口句柄。 如果返回 NULLCWnd未附加到一個(gè)窗口,或如果與 null 值一起CWnd指針。
CWnd::FromHandle
static CWnd* PASCAL FromHandle(HWND hWnd);
在提供了窗口的句柄時(shí)返回指向 CWnd 對(duì)象的指針。 如果 CWnd 對(duì)象未附加到該句柄,則會(huì)創(chuàng)建并附加一個(gè)臨時(shí) CWnd 對(duì)象
參數(shù)
hWnd
Windows 窗口的 HWND。
返回值
在提供了窗口的句柄時(shí)返回指向 CWnd 對(duì)象的指針。 如果 CWnd 對(duì)象未附加到該句柄,則會(huì)創(chuàng)建并附加一個(gè)臨時(shí) CWnd 對(duì)象。
該指針可能是暫時(shí)的,不應(yīng)存儲(chǔ)起來(lái)供將來(lái)使用
GetCursorPos
etCursorPos,函數(shù)名。該函數(shù)檢取光標(biāo)的位置,以屏幕坐標(biāo)表示。
函數(shù)原型:BOOL GetCursorPos(LPPOINT lpPoint);
參數(shù):
IpPoint:POINT結(jié)構(gòu)指針,該結(jié)構(gòu)接收光標(biāo)的屏幕坐標(biāo)。
Visual Basic 6.0 函數(shù)聲明:
[Public/Private] Declare Function GetCursorPos Lib “user32” Alias “GetCursorPos” (lpPoint As POINTAPI) As Long
使用時(shí)要先定義一個(gè)數(shù)據(jù)結(jié)構(gòu):
Public Type POINTAPI
x As Long
y As Long
End Type
例如:
Dim biao as POINTAPI
GetCursorPos biao
那么biao.x用來(lái)存放當(dāng)前光標(biāo)的x軸坐標(biāo),biao.y用來(lái)存放當(dāng)前y軸的坐標(biāo)。
返回值:如果成功,返回值非零;如果失敗,返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。
備注
1.光標(biāo)的位置通常以屏幕坐標(biāo)的形式給出,它并不受包含該光標(biāo)的窗口的映射模式的影響。該調(diào)用過(guò)程必須具有對(duì)窗口站的WINSTA_READATTRIBUTES訪問(wèn)權(quán)限。
2.此函數(shù)為api函數(shù),調(diào)用時(shí)要函數(shù)聲明:Public Declare Function GetCursorPos Lib “user32” (lpPoint As POINTAPI) As Long
速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;庫(kù)文件:user32.lib。
程序例
#include<stdio.h>
#include<windows.h>
int main(){
POINT p;
while(1)
{
GetCursorPos(&p);
printf("%ld%ld\n",p.x,p.y);
Sleep(1000);
}
return0;}
如何在C#中使用
導(dǎo)入庫(kù):user32.lib
***.Net 中運(yùn)用
[DllImport(“user32.dll”,EntryPoint = “GetCursorPos”)]
public static extern bool GetCursorPos(ref Point lpPoint);
參數(shù)說(shuō)明 ref 或者out 類(lèi)型為Point結(jié)構(gòu) .net框架自帶 自動(dòng)添加using即可,該結(jié)構(gòu)接收光標(biāo)的屏幕坐標(biāo)
返回值 :布爾值
SetForegroundWindow
https://baike.baidu.com/item/SetForegroundWindow
SetForegroundWindow函數(shù)將創(chuàng)建指定窗口的線(xiàn)程設(shè)置到前臺(tái),并且激活該窗口。鍵盤(pán)輸入轉(zhuǎn)向該窗口,并為用戶(hù)改各種可視的記號(hào)。系統(tǒng)給創(chuàng)建前臺(tái)窗口的線(xiàn)程分配的權(quán)限稍高于其他線(xiàn)程。
函數(shù)原型:BOOL SetForegroundWindow(HWND hWnd)。
hWnd , 將要設(shè)置前臺(tái)的窗口句柄…
返回值:如果窗口設(shè)入了前臺(tái),返回值為非零;如果窗口未被設(shè)入前臺(tái),返回值為零。
備注:
前臺(tái)窗口是z序頂部的窗口,是用戶(hù)的工作窗口。在一個(gè)多任務(wù)優(yōu)先搶占環(huán)境中,應(yīng)讓用戶(hù)控制前臺(tái)窗口。
Windows NT 5.0:當(dāng)用戶(hù)在另一個(gè)窗口中工作時(shí),應(yīng)用程序不能強(qiáng)行設(shè)置一個(gè)窗口到前臺(tái)。相反,SetForeground函數(shù)將會(huì)激活窗口并且調(diào)用FlashWindowEx函數(shù)通知用戶(hù)。
Windows CE:擁有窗口的線(xiàn)程不具有優(yōu)先啟動(dòng)權(quán)。
速查:
Windows NT;3.1以上版本;Windows;95以上版本;Windows CE:1.0以上版本;頭文件:winuser.h;庫(kù)文件:user32.lib。
VB形式聲明
Declare Function SetForegroundWindow Lib “user32” (ByVal hwnd As Long) As Long
C#形式聲明
[DllImport(“user32”)]
static extern int SetForegroundWindow(IntPtr hwnd);
TrackPopupMenu
https://baike.baidu.com/item/TrackPopupMenu
函數(shù)功能:該函數(shù)在指定位置顯示快捷菜單,并跟蹤菜單項(xiàng)的選擇。快捷菜單可出現(xiàn)在屏幕上的任何位置。
函數(shù)原型:BOOL TrackPopupMenu(HMENU hMenu, UINT uFlags, int x, int y, int nReserved, HWND hWnd, CONST RECT* prcRect);
參數(shù)一覽
hMenu:被顯示的快捷菜單的句柄。此句柄可為調(diào)用CreatePopupMenu創(chuàng)建的新快捷菜單的句柄,也可以為調(diào)用GetSubMenu取得的與一個(gè)已存在菜單項(xiàng)相聯(lián)系的子菜單的句柄。
uFlags:一種指定功能選項(xiàng)的位標(biāo)志。用下列標(biāo)志位之一來(lái)確定函數(shù)如何水平放置快捷菜單:
TPM_CENTERALIGN:若設(shè)置此標(biāo)志,函數(shù)將按參數(shù)x指定的坐標(biāo)水平居中放置快捷菜單。
TPM_LEFTALIGN:若設(shè)置此標(biāo)志,函數(shù)使快捷菜單的左邊界與由參數(shù)X指定的坐標(biāo)對(duì)齊。
TPM_RIGHTALIGN:若設(shè)置此標(biāo)志,函數(shù)使快捷菜單的右邊界與由參數(shù)X指定的坐標(biāo)對(duì)齊。
用下列標(biāo)志位之一來(lái)確定函數(shù)如何垂直放置快捷菜單:
TPM_BOTTOMALIGN:若設(shè)置此標(biāo)志,函數(shù)使快捷菜單的下邊界與由參數(shù)y指定的坐標(biāo)對(duì)齊。
TPM_TOPALIGN:若設(shè)置此標(biāo)志,函數(shù)使快捷菜單的上邊界與由參數(shù)y指定的坐標(biāo)對(duì)齊。
TPM_VCENTERALIGN;若設(shè)置此標(biāo)志,函數(shù)將按參數(shù)y指定的坐標(biāo)垂直居中放置快捷菜單
用下列標(biāo)志位之一來(lái)確定在菜單沒(méi)有父窗口的情況下用戶(hù)的選擇:
TPM_NONOTIFY:若設(shè)置此標(biāo)志,當(dāng)用戶(hù)單擊菜單項(xiàng)時(shí)函數(shù)不發(fā)送通知消息。
TPM_RETURNCMD;若設(shè)置此標(biāo)志;函數(shù)將用戶(hù)所選菜單項(xiàng)的標(biāo)識(shí)符返回到返回值里。
(注意:當(dāng)TrackPopupMenu的返回值大于0,就說(shuō)明用戶(hù)從彈出菜單中選擇了一個(gè)菜單。當(dāng)不設(shè)置TPM_NONOTIFY和TPM_RETURNCMD時(shí),程序給自己發(fā)送了一個(gè)WM_COMMAND消息,以返回的ID號(hào)為參數(shù)wParam的值)
用下列標(biāo)志位之一來(lái)確定在快捷菜單跟蹤哪一個(gè)鼠標(biāo)鍵:
TPM_LEFTBUTTON:若設(shè)置此標(biāo)志,用戶(hù)只能用鼠標(biāo)左鍵選擇菜單項(xiàng)。
TPM_RIGHTBUTTON:若設(shè)置此標(biāo)志,用戶(hù)能用鼠標(biāo)右鍵選擇菜單項(xiàng)。
X:在屏幕坐標(biāo)下,快捷菜單的水平位置。
Y:在屏幕坐標(biāo)下,快捷菜單的垂直位置。
NReserved:保留值,必須為零。
HWnd:擁有快捷菜單的窗口的句柄。此窗口接收來(lái)自菜單的所有消息。函數(shù)返回前,此窗口不接受來(lái)自菜單的WM_COMMAND消息。
如果在參數(shù)uFlags里指定了TPM_NONOTIFY值,此函數(shù)不向hWnd標(biāo)識(shí)的窗口發(fā)消息。 但必須給hWnd里傳一個(gè)窗口句柄,可以是應(yīng)用程序里的任一個(gè)窗口句柄。
PrcRect:未用。
返回值:如果在參數(shù)uFlags里指定了TPM_RETURNCMD值,則返回值是用戶(hù)選擇的菜單項(xiàng)的標(biāo)識(shí)符。如果用戶(hù)未作選擇就取消了菜單或發(fā)生了錯(cuò)誤,則退回值是零。如果沒(méi)在參數(shù)uFlags里指定TPM_RETURNCMD值,若函數(shù)調(diào)用成功,返回非零值,若函數(shù)調(diào)用失敗,返回零。若想獲得更多的錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError
函數(shù):
備注
Windows CE不支持參數(shù)uFlags取下列值:TPM_NONOTIFY;TPM_LEFTBUTTON;TPM_RIGHTBUTTON。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;頭文件:winuser.h;輸入庫(kù):user32.lib。
總結(jié)
以上是生活随笔為你收集整理的SystemTray.cpp的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SBUS
- 下一篇: 已知地球上某两个点的坐标(即经纬度),求