1. nim_sdk_ui是什麼文件
其實很簡單,SDK 就是 Software Development Kit 的縮寫,中文意思就是「軟體開發工具包」。這是一個覆蓋面相當廣泛的名詞,可以這么說:輔助開發某一類軟體的相關文檔、範例和工具的集合都可以叫做「SDK」。具體到我們這個系列教程,我們後面只討論廣義 SDK 的一個子集——即開發 Windows 平台下的應用程序所使用的 SDK。(SDK編程指調用raw API進行Windows編程(即直接調用windows的API進行編程,而不是通過MFC等類庫),編程語言為C.)
其實上面只是說了一個 SDK 大概的概念而已,理解什麼是 SDK 真有這么容易嗎?恐怕沒這么簡單!為了解釋什麼是 SDK 我們不得不引入 API、動態鏈接庫、導入庫等等概念。
首先要接觸的是「API」,也就是 Application Programming Interface,其實就是操作系統留給應用程序的一個調用介面,應用程序通過調用操作系統的 API 而使操作系統去執行應用程序的命令(動作)。
DLL,即 Dynamic Link Library(動態鏈接庫)。我們經常會看到一些 .dll 格式的文件,這些文件就是動態鏈接庫文件,其實也是一種可執行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接執行,他們通常由 .exe 在執行時裝入,內含有一些資源以及可執行代碼等。其實 Windows 的三大模塊就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),裡面就含有了 API 函數的執行代碼。為了使用 DLL 中的 API 函數,我們必須要有 API 函數的聲明(.H)和其導入庫(.LIB),函數的原型聲明不難理解,那麼導入庫又是做什麼用的呢?我們暫時先這樣理解:導入庫是為了在 DLL 中找到 API 的入口點而使用的。
所以,為了使用 API 函數,我們就要有跟 API 所對應的 .H 和 .LIB 文件,而 SDK 正是提供了一整套開發 Windows 應用程序所需的相關文件、範例和工具的「工具包」。到此為止,我們才真正的解釋清楚了 SDK 的含義。
由於 SDK 包含了使用 API 的必需資料,所以人們也常把僅使用 API 來編寫 Windows 應用程序的開發方式叫做「SDK 編程」。而 API 和 SDK 是開發 Windows 應用程序所必需的東西,所以其它編程框架和類庫都是建立在它們之上的,比如 VCL 和 MFC,雖然他們比起「SDK 編程」來有著更高的抽象度,但這絲毫不妨礙它們在需要的時候隨時直接調用 API 函數。
2. NAM和NIM的區別
NAM和NIM的區別
NAM,N-乙醯胞壁酸,是細菌細胞壁的一種特殊成分肽聚糖的成分。
NAG與NAM之間通過β-1,4糖苷鍵連接,該鍵可被廣泛存在於人體唾液中的溶菌酶破壞。
Nim生成不依賴於虛擬機的本機無依賴可執行文件,這些可執行文件很小並且允許重新分配。
Nim編譯器和生成的可執行文件支持所有主要平台,例如Windows,linux,BSD和macOS。
3. SVN系統部署說明(CollabNet Subversion Edge + TortoiseSVN)
對互聯網公司而言,SVN的重要性不言而喻。本文選用CollabNet Subversion Edge作為SVN服務端和控制台,以TortoiseSVN作為客戶端部署SVN系統。CollabNet Subversion Edge控制台功能十分強大,便於維護管理,且能採用LDAP認證方式,適合部署了內部域控的組織。而TortoiseSVN客戶端的功能和性能有口皆碑,無需贅述。
點擊「OK」,在跳出的登陸框里輸入用戶名「admin」及其密碼,按回車鍵登錄。
可以發現成功登錄版本庫。
輸入版本庫url和檢出目錄,點擊「OK」,在彈出的認證框里輸入域賬號及其密碼,點擊「OK」,開始檢出版本庫。
檢出成功。
可以發現目標版本庫被成功檢出到目標文件夾里。
可以看到一些LDAP用戶登陸過系統管理後台,點擊角色列表,可以看到系統已經定義好的角色:
點擊角色名可以將該角色授予用戶:
![]DFNIM.png]( http://upload-images.jianshu.io/upload_images/4954542-90325a22ad0fe4f1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
TortoiseSVN是windows下一個非常優秀的SVN客戶端工具,通過它我們可以可視化的管理我們的版本庫。不過由於它只是一個客戶端,所以它不能對版本庫進行許可權管理。
安裝時按默認步驟安裝即可,無需詳述。
TortoiseSVN不是一個獨立的窗口程序,而是集成在windows右鍵菜單中,使用起來比較方便。以下簡要說明TortoiseSVN的每個菜單項如何使用。
點擊SVN Checkout,彈出檢出提示框,在URL of repository輸入框中輸入目標版本庫地址,在Checkout directory輸入框中輸入本地工作拷貝的路徑,點擊確定,即可檢出伺服器上的版本庫。
如果版本庫在本地已有工作拷貝,則取得最新版本只是執行SVN Update即可,點擊SVN Update,系統彈出更新提示框,點擊確定,則把伺服器上的最新版本更新下來。
把自己工作拷貝所做的修改提交到版本庫中,這樣別人在獲取最新版本(Update)的時候就可以看到你的修改了。
顯示當前文件(夾)的所有修改歷史。SVN支持文件以及文件夾獨立的版本追溯。
查看當前版本庫,這是TortoiseSVN查看版本庫的入口,通過這個菜單項,我們就可以進入配置庫的資源管理器,然後就可以對配置庫的文件夾進行各種管理,相當於我們打開我的電腦進行文件管理一樣。
點擊Check for Modifications,彈出一個列出所有待更新的文件及文件夾的狀態的窗口。
查看文件的版本分支結構,可以點擊Revision Graph,系統以圖形化形式顯示版本分支。
從版本庫中獲取某一個歷史版本。這個功能主要是方便查看歷史版本用,而不是回滾版本。注意:獲取下來之後,對這個文件不建議進行任何操作。
如果你做了修改,那麼當你提交的時候SVN會提示你,當前版本已失效(即不是最新版本),無法提交,需要先update一下。這樣你所做的修改也就白費了。
如果你對工作拷貝做了一些修改,但是你又不想要了,那麼你可以使用這個選項把所做的修改撤銷。
如果當前工作拷貝有任何問題的話,可以使用這個選項進行修正。例如,有些文件原來是版本控制的,但是你沒有通過tortoiseSVN就直接刪除了,但是tortoiseSVN還是保留著原來的信息(每個文件夾下都有一個.svn的隱藏文件夾,存放著當前文件夾下所有文件夾的版本信息)所以這就會產生一些沖突。可以使用cleanup來清理一下。
如果你不想別人修改某個文件的話,那麼你就可以把這個文件進行加鎖,這樣可以保證只有你對這個文件有修改權。除非你釋放了鎖,否則別人不可能提交任何修改到配置庫中。
Branch是分支的意思。例如當在設計一個東西的時候,不同的人有不同的實現,但是沒有經過實踐檢驗,誰也不想直接覆蓋掉其他人的設計,所以可以引出不同的分支。將來如果需要,可以將這些分支進行合並。
tag是打標簽的意思。通常當項目開發到一定程度,已經可以穩定運行的時候,可以對其打上一個標簽,作為穩定版。將來可以方便的找到某個特定的版本(當然我們也可以使用版本號來查找,但是數字畢竟不方便)。
SVN對於分支和標簽都是採用類似Linux下硬鏈接的方式(同一個文件可以存在兩個地方,刪除一個不會影響另一個,所做修改會影響另一個),來管理文件的,而不是簡單的復制一份文件的拷貝,所以不會有浪費存儲空間的問題存在。
文件創建分支後,你可以選擇在主幹工作,還是在分支工作,這時候你可以通過Switch來切換。
主幹和分支的版本進行合並,在源和目的各輸入文件的路徑,版本號,點擊確定。系統即對文件進行合並,如果存在沖突,請參考沖突解決。
把整個工作拷貝導出到本地目錄下,導出的文件將不帶svn文件標志,文件及文件夾沒有綠色的」√」符號標志。這個功能是方便我們部署用。
當我們需要發布一個穩定版本時,就可以使用這個功能將整個工程導出到某個文件夾,新的文件夾將不會包含任何版本信息了。
當伺服器上的文件庫目錄已經改變,我們可以把工作拷貝重新定位,在To URL輸入框中輸入新的地址。
當我們版本庫發生轉移的時候就需要用到這個功能了。例如原先的版本庫是建在U盤上的,現在轉移到(復制整個配置庫文件夾)開發伺服器上,使用https代替文件系統的訪問。因此就需要將原來的工作拷貝的目標版本庫重新定位到開發伺服器上。
選擇要提交到伺服器的目錄,右鍵選擇TortoiseSVN->Import,系統彈出導入提示框,在URL of repository輸入框中輸入伺服器倉庫地址,在Import Message輸入框中輸入導入日誌信息,點擊確定,則文件導入到伺服器倉庫中。
如果有多個文件及文件夾要提交到伺服器,我們可以先把這些要提交的文件加入到提交列表中,要執行提交操作,點擊執行提交(SVN Commit),即可把所有文件一次性提交到伺服器上。
創建/發布補丁。如果管理員不想讓任何人都隨便提交修改,而是都要經過審核才能做出修改,那麼其他人就可以通過創建補丁的方式,把修改信息(補丁文件)發送給管理員,管理員審核通過之後就可以使用apply patch提交這次修改了。
大多數項目會有一些文件(夾)不需要版本控制,如編譯產生的*.obj, *.lst,等。這時候可以把這些文件加入忽略列表。
4. 朋友,我也是想安裝win7和紅旗linux8.0雙系統nim我只有linux的鏡像1怎麼安裝i能告訴我嗎...
首先告訴你不要怕,根據提示一定可以裝上,然後請看下面的話:
Windows系統下Linux的安裝
HQY 發表於 2004-12-10 18:25:00
您想在同一台計算機上同時使用Windows和Linux系統嗎,您必須首先學會在一台安裝了Windows系統的計算機上安裝Linux系統。
對於Windows/Linux多操作系統共存的系統,安裝順序是先安裝Windows系統,然後才是Linux。下面我們介紹在已經安裝了Windows系統的單硬碟上如何安裝RedHat Linux 9.0。
Linux安裝前的准備工作
1.用Windows系統收集硬體信息
在安裝Linux之前,您需要藉助Windows系統了解計算機硬體的基本信息,如內存大小、音效卡、顯示器、滑鼠和顯卡型號等。
2.設置從光碟引導系統
Linux支持幾種安裝方式,但直接以光碟開機啟動進行安裝最方便和快速。若要機器以光碟啟動,需要修改BIOS的設置,將CD-ROM變更至開機順序的第一位。
3.Linux分區
Linux分區的表示方法
分區就是將磁碟驅動器分隔成獨立的區域,每個區域都如同一個單獨的磁碟驅動器,在DOS/Windows系統下磁碟分區可分為C、 D和E盤等。但Linux則將磁碟視為塊設備文件來管理使用,它以 /dev(device的縮寫)開頭表示。
例: 在Linux用 「/dev/hda1」表示Windows下的C盤
其中:hd 表示IDE硬碟(SCSI硬碟用sd);hda 為 第一個IDE 硬碟(第二為 hdb);/dev/hda1 為主分區,邏輯分區 從5 開始,如: /dev/hda5、/dev/hda6、/dev/hda7等。
為Linux准備分區
Linux分區和Windows分區不同,不能共用。所以需要為Linux單獨開辟一個空閑的分區,最好是最後一個分區。如圖1中利用Windows下的Partition Magic(分區魔法)軟體,在D盤上騰出空間創建新分區E盤(或利用已有的空閑E盤),文件類型暫設為FAT32,作為稍後創建Linux分區使用,RedHat 9.0 大約需4 ~ 5GB的空間。
4.Linux 的文件系統
對於不同的操作系統,文件系統也不同。Windows文件系統為FAT16、FAT32和NTFS。而Linux的文件系統可分為ext2、ext3、swap和vfat。ext2支持最多為255 個字元的文件名;ext3 是基於 ext2之上,主要優點是減少系統崩潰後恢復文件系統所花費的時間,RedHat 9.0 默認文件系統為ext3;交換區swap是被用於支持虛擬內存;Windows的FAT分區在Linux下顯示為vfat文件類型。
1.用RedHat 9.0第一張安裝光碟引導開機,系統在開機後會出現安裝菜單。
安裝菜單中提供了供用戶選擇的圖形和文本模式的安裝方式,按回車選擇圖形模式進行安裝。在進入圖形畫面的安裝模式前,RedHat 9.0比以往的版本多了一個環節,那就是提示對安裝光碟介質進行檢測, 也可按「Skip」按鈕跳過檢測。
2.接著安裝程序會自動檢測硬體,包括視頻卡(顯示卡)、顯示器和滑鼠的配置,然後進入圖形畫面的安裝向導。在出現「語言選擇」的畫面中,我們選擇「簡體中文」,這樣接下去的安裝過程界面的文字都會改為中文。在「鍵盤配置」畫面中接受默認的「美國英語式」鍵盤。選擇「下一步」,在「滑鼠配置」窗口,系統自動檢測出滑鼠的配置。
3.選擇安裝類型,安裝類型包含四種不同的安裝方式:個人桌面、工作站、伺服器和定製。「伺服器」的安裝適用於專職的伺服器使用,「個人桌面」和「工作站」適合於初學者,為了讓你更多地了解安裝過程,我們將選擇「定製」類型進行安裝。
4.磁碟分區設置:確認了「定製」方式之後,系統會出現「磁碟分區設置」窗口,它提供了兩種分區方式:「自動分區」和「用Disk Druid手工分區」。
「自動分區」是一個危險功能,因為它會自動刪除原先硬碟上的數據,並格式化成為Linux的分區文件系統。所以除非計算機上沒有其他操作系統,你才可以使用。建議採用Disk Druid程序進行手動分區,它的圖形化界面比早期RedHat的fdisk程序操作更簡單。
5.磁碟設置:在選擇「用Disk Druid手工分區」後,會顯示如圖2的「磁碟設置」窗口,這是整個安裝過程中惟一需要用戶較多干預的步驟,也是很重要的環節。
只要有一個主分區就可以安裝並使用Windows操作系統,同時D、E等邏輯盤的文件結構也都是獨立的。而Linux系統歸根結底就只有一個根目錄,一個獨立且惟一的文件結構。Linux的文件系統採用樹型結構,整個文件系統由一個「根」和根上的幾個分「杈」組成,Linux需創建幾個「Linux Native」分區和「Linux Swap 」分區,每個分區都必須通過 「掛載點」,分別載入到 「根(/)」或幾個分「杈(如/boot、/home等)」上。
一個最基本的Linux系統需有一個「/」根文件系統分區、一個「Swap」交換文件分區和/boot分區,為了用戶使用方便建議還需創建一個 /home分區。
為Linux建立分區有幾種辦法,一種是編輯現有空閑分區,使它成為Linux分區。如果沒有空閑的磁碟空間,就需要將現有的分區刪除後,騰出空間,以建立Linux分區。
圖2中的/dev/hda6是在Windows下用Partition Magic為Linux准備的分區E盤(圖1)。下面我們將在/dev/hda6上創建「/」、「/boot」、「swap」和「/home」分區。
(1)因 /dev/hda6 的文件類型是vfat,需先刪除此分區,使它變成 「空閑」設備和「空閑分區」;
(2)創建「/」分區:選中「空閑」設備,按「新建」按鈕,進入「添加分區」的窗口中,掛載點選「/」,文件系統類型選「ext3」,大小輸入「5000MB」。
(3)創建「/boot」:同(2),在掛載點選「/boot」,文件系統類型選「ext3」,大小輸入「100MB」。
(4)創建swap:一般swap分區的大小設定為機器內存的2~3倍為最佳,在「添加分區」的窗口,文件系統類型選「swap」,大小為600MB(如果內存為256MB),它不需要掛載點;
(5)創建「/home」:在掛載點選「/home」,文件系統類型選「ext3」,我們選擇「使用全部可用空間」選項,將剩餘的磁碟分配給/home區。
6.在完成了創建Linux分區後,接下來出現「引導裝載程序配置」窗口。
對於Windows/Linux多操作系統共存的系統,開機時如何指定引導的操作系統,這需要藉助開機引導裝載程序(Boot Loader)。Linux內置了兩種開機引導裝載程序——LILO與Grub,在圖3引導裝載程序配置中,我們將開機啟動的操作系統設為DOS(Windows),同時默認系統設置——以Grub作為引導裝載程序。
7.配置好引導裝載程序後,在接下來的「網路配置」、「防火牆的配置」、「附加語言支持」和「時區選擇」的窗口中,我們都按系統默認進行選擇。
8.和Windows XP相同,有一個稱為「root」許可權最大的管理員賬戶,使用這個賬戶登錄主機可以完全掌握整個系統,安裝過程中需要設置它的口令,請記住設置的口令。在後面的「驗證配置」的窗口中,我們以系統默認的設置進行。
9.接下來是進行「個人桌面默認的設置」,選擇「定製要安裝的軟體包集合」。然後是系統軟體包的選擇安裝,在「選擇軟體包組」窗口中,為了測試每個軟體包的功能,選擇最後一個選項「全部安裝」,安裝全部軟體包需4850MB的硬碟空間,按「下一步」後,系統開始進行軟體包的安裝。在安裝過程中,系統會提示插入第二及第三張安裝光碟。
10.軟體包安裝完成後,系統會提示「創建引導盤」,當系統無法引導的情況下,引導盤可作為緊急救援盤,我們強烈建議要製作引導盤。
11.隨後系統顯示「圖形化界面(X)配置」、「顯示器設置」和「定製圖形化配置」的窗口,分別顯示系統檢測出的視頻卡(顯示卡)的型號、內存和顯示器的型號以及色彩深度、屏幕解析度等,一般按系統的默認值設置即可。
完成了上述這些操作後,系統會顯示安裝完成的提示窗口。當你重新啟動機器後,Windows的開機畫面將被多操作系統引導程序Grub的精美圖案所替代
5. aix中NIM是什麼意思
NetWork Install Manager 網路安裝管理。
使用Aix nim機能,可以用來安裝一台或多台機器的基本操作系統(bos)以及軟體。同樣構造的多台機器,作為一個組來安裝,也可以。按照客戶的指定一台機器特殊的要求機器也可以。同時可以安裝的台數由網路性能,安裝對象機器的硬碟連接性能,以及nim機的性能來決定。Nim環境有伺服器端和客戶端構成。伺服器端向客戶端提供安裝必要的文件和程序等資源。接受利用這些資源的就是客戶端。
6. MP3格式文件怎麼轉換成AMR文件
AMR,一種語音備忘錄的錄音格式;優點:音量大,支持人聲(原唱鈴聲),但一直我也不知道如何製作!找了很多軟體也不行;現在,終於找到能把MP3.WAV等格式換成AMR的軟體:Nokia的Multimedia
Converter
Pro.在這里要謝謝軟體提供:ljc520
,THANK
^_^
YOU
這款軟體能把WAV.MP3.MP4等轉換成AMR格式,也可以把MPG.AVI.NIM等格式轉換成3GP格式,由於N700/708不支持3GP格式的短片,所以轉換成3GP的方法就不多說了,其實跟轉成AMR的差不多;大家自己慢慢摸索吧!
安裝好後打開主界面,按File-Open打開要轉換成AMR格式的文件.有些朋友可能會想把其它格式的文件轉換成AMR格式,例如WMA.RA等,那可以用豪傑音頻通V2.5,豪傑音頻通可以把各種文件轉換成MP3.WAV等格式包括視頻文件;方法很簡單!這里就不多說了!
打開文件後左邊的就是打開的文件,可以播放試聽,按File
Information--Hide
Original
file
information可以看打開文件的大小(File).格式(Codec).比特率(Sampling).持續時間(Duratior
單位:毫秒).聲道(Channels)等信息;stereo是立體聲mono是單聲道,轉換成AMR時會自動轉換成單聲道;
開始轉換前先選擇轉換成AMR的比特率:AMR
Bit
rate
,在下拉菜單里選擇,比特率越小,轉換出來的文件就越小!當然音質也跟著越差!在Conversion
settings里,Start
time是開始的時間,Max
file
size是限制轉換後AMR的大小,打溝後再寫上希望轉換後AMR大小就OK.
一切准備好後就按Convert,彈出對話框選擇轉換後AMR的存放目錄,選好後就開始轉換,轉換後再右邊就可以播放,按File
Information--Hide
Coverted
file
information就可以看到轉換後AMR鈴聲的詳細信息,最後要做的就是用數據線把轉換後的AMR鈴聲傳到手機里!
再這里說說要注意的事項:轉換後AMR鈴聲不要超過130K,不然的話就不能傳到手機里;有些時候不能把轉換後AMR放到手機語音備忘錄里,那就存到鈴聲.或其他目錄里;MP3或WAV(例如4分鍾)太長可以用豪傑音頻解霸A8切斷為2分鍾!
現在可以用的700來聽歌了,呵呵!雖然音質不是很好,不過也挺滿足,可能時因為時自己做吧!^_^
screen.width-450)this.style.width=screen.width-450;">
7. VC6.0程序編譯後如何為程序添加圖標
是不是顯示程序的圖標,在程序創建的時候就要創建圖標,編譯後不能再載入圖標了,不過你可以修改
在Windows操作系統中,任務欄的右邊(托盤)會常駐幾個圖標,如輸入法切換圖標、音量控制圖標等,此外我們還經常遇到具有托盤圖標的軟體,如金山詞霸、實時監測功能的殺毒軟體等。這些軟體在後台運行,通常不佔用太多的屏幕資源,只在通知欄上放一個小小的標志,必要時我們可以通過用滑鼠點擊圖標對其進行選單操作或激活其主窗口。有時我們自己編寫的程序也希望有類似的效果,本文將詳細地介紹用VC設計托盤圖標程序的方法。
一、NOTIFYICONDATA結構
NOTIFYICONDATA結構包含了系統用來處理托盤圖標的信息,它包括選擇的圖標、回調消息、提示消息和圖標對應的窗口等內容。其定義為:
typedef struct—NOTIFYICONDATA { DWORD cbSize; //以位元組為單位的這個結構的大小 HWND hWnd; //接收托盤圖標通知消息的窗口句柄 UINT uID; //應用程序定義的該圖標的ID號 UINT uFlags; //設置該圖標的屬性 UINT uCallbackMessage; //應用程序定義的消息ID號,此消息傳遞給hWnd HICON hIcon; //圖標的句柄 char szTip[64]; //滑鼠停留在圖標上顯示的提示信息 } NOTIFYICONDATA, ?PNOTIFYICONDATA;
該結構中,成員uFlags可以是下列的組合或其中之一:
◆NIF_ICON:設置成員hIcon有效
◆NIF_MESSAGE:設置成員uCallbackMessage有效
◆NIF_TIP:設置成員szTip有效
二、Shell_NotifyIcon函數
全局函數Shell_NotifyIcon()用於在托盤上增加、刪除或修改圖標。其原型為:
WINSHELLAPI BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage,PNOTIFYICONDATA pnid);
Pnid是上面的NOTIFYICONDATA結構的指針。
dwMessage是被傳遞的消息,可以是以下消息之一:
◆NIM_ADD:增加圖標
◆NIM_DELETE:刪除圖標
◆NIM_MODIFY:修改圖標
三、托盤圖標程序設計示例
首先我們用AppWizard創建一個不基於文檔和視圖結構的應用程序Tray。我們並不想在應用程序啟動時顯示主窗口,所以需要刪除應用程序類CTrayApp中成員函數InitInstance()的以下兩句代碼:
pFrame-〉ActivateFrame(); pFrame-〉ShowWindow(SW_SHOW);
在CMainFrame類中加入NOTIFYICONDATA結構的保護成員變數m_tnid,並在其OnCreate函數中return語句前加入生成托盤圖標的代碼:
m_tnid.cbSize=sizeof(NOTIFYICONDATA); m_tnid.hWnd=this-〉m_hWnd; m_tnid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP; m_tnid.uCallbackMessage=MYWM_NOTIFYICON; //用戶定義的回調消息 CString szToolTip; szToolTip=_T("托盤圖標實例"); _tcscpy(m_tnid.szTip, szToolTip); m_tnid.uID=IDR_MAINFRAME; HICON hIcon; hIcon=AfxGetApp()-〉LoadIcon(IDR_MAINFRAME); m_tnid.hIcon=hIcon; ::Shell_NotifyIcon(NIM_ADD,&&m_tnid); if(hIcon)::DestroyIcon(hIcon);
返回消息的ID應在主框架類的頭函數中定義:
#define MYWM_NOTIFYICON WM_USER+1
為了處理圖標返回消息,如滑鼠左鍵雙擊、滑鼠右鍵單擊消息,我們重載WindowProc()函數。此外,我們還希望在主框架窗口最小化時圖標不在任務欄的空白區出現,在此函數中同時作相應處理。
LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { switch(message){ case MYWM_NOTIFYICON: //如果是用戶定義的消息 if(lParam==WM_LBUTTONDBLCLK){ //滑鼠雙擊時主窗口出現 AfxGetApp()-〉m_pMainWnd-〉ShowWindow(SW_SHOW); } else if(lParam==WM_RBUTTONDOWN){ //滑鼠右鍵單擊彈出選單 CMenu menu; menu.LoadMenu(IDR_RIGHT_MENU); //載入事先定義的選單 CMenu?pMenu=menu.GetSubMenu(0); CPoint pos; GetCursorPos(&&pos); pMenu-〉TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,AfxGetMainWnd()); } break; case WM_SYSCOMMAND: //如果是系統消息 if(wParam= =SC_MINIMIZE){ //接收到最小化消息時主窗口隱藏 AfxGetApp()-〉m_pMainWnd-〉ShowWindow(SW_HIDE); return 0; } break; } return CFrameWnd::WindowProc(message, wParam, lParam); }
為使應用程序退出時圖標消失,映射WM_DESTROY消息,在OnDestroy()函數中加入:
::Shell_NotifyIcon(NIM_DELETE,&&m_tnid);
至此,托盤圖標程序的常規功能我們均已實現。我們還可以通過Shell_NotifyIcon()函數的調用實現不同狀態下圖標的改變
8. Nim 比 rust 好為什麼
據個人經驗,nim語法類似python, 語法靈活,有各種語法糖,使用比較簡單,編譯速度快,運行速度和C語言差不多。
樓下補充。。。
9. 有沒有.3gp和.nim的文件
.3gp是手機通用錄像文件~~
.nim也是一種影音文件~~但是沒有.3gp流行~~您可以在市場上絕大部分的手機中利用錄像功能獲得3gp文件~~或是nokia專門的文件轉換器進行轉換~~
10. 緩存文件英文名是什麼呢
緩存文件英文是cache file,具體釋義如下:
讀音:[kæʃ faɪl]
表達意思:緩存文件。
詞性:通常在句中作名詞,作為主語或賓語。
固定搭配:cache file system高速緩存文件系統;Cache file resize failure緩存文件改變大小失敗。
例句:
1、The nim master copies the nim client's data to thecachefilesystems in nimadmvg.
nim主機將nim客戶機的數據復制到nimadmvg中的緩存文件系統。
2、As an optional fourth parameter, you can supply a minimum age in seconds thecachefilemust be before it will get cleared.
第四個參數是可選的,用來指定超過某一時間(以秒為單位)的緩存才會被清除。