軟體名稱:Android模擬器 - Andy

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

「Android」的圖片搜尋結果

 

軟體名稱:Genymotion

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

 

好些人來信問我,要成為一個好的程序員,數學基礎要達到什麼樣的程度?十八年前,當我成為大學計算機系新生的時候,也為同樣的問題所困擾。面對學數學,物理等學科的同學,我感到自卑。經常有人說那些專業的知識更加精華一些,難度更高一些,那些專業的人畢業之後如果做編程工作,水平其實比計算機系畢業的還要高。直到幾年前深入研究程序語言之後,對這個問題我才得到了答案和解脫。由於好多編程新手遇到同樣的困擾,所以我想在這裡把這個問題詳細的闡述一下。

  數學並不是計算機科學的基礎

  很多人都錯誤的認為,計算機科學是數學的一個分支,數學是計算機科學的基礎,數學是更加博大精深的科學。這些人以為只要學會了數學,編程的事情全都不在話下,然而事實卻並非如此。

文章標籤

NoSleep 發表在 痞客邦 留言(1) 人氣()

VC/MFC下使用MessageBox()AfxMessageBox()的比較整理

 

使用區別:

類別庫:

 MessageBox()是標準的Windows API函數;

文章標籤

NoSleep 發表在 痞客邦 留言(1) 人氣()

終極dos批處理循環命令詳解
格式:FOR [參數] %%變量名 IN (相關文件或命令)   DO 執行的命令
  作用:對一個或一組文件,字符串或命令結果中的每一個對象執行特定命令,達到我們想要的結果。
  注意:在批處理文件中使用 FOR 命令時,指定變量請使用 %%variable,而不要用 %variable。變量名稱是區分大小寫的,所以 %i 不同於 %I.
  關於:for命令可以帶參數或不帶參數,帶參數時支持以下參數:/d /l /r /f
  下面分別解釋一下

  ===
  零:無參數時:
  ---
  FOR %variable IN (set) DO command [command-parameters]
  %variable 指定一個單一字母可替換的參數。
  (set)      指定一個或一組文件。可以使用通配符。
  command    指定對每個文件執行的命令。
  command-parameters
  為特定命令指定參數或命令行開關。

  TTT示例:
  for %%i in (t*.*) do echo %%i --顯示當前目錄下與t*.*相匹配的文件(只顯示文件名,不顯示路徑) 
  for %%i in (d:\mydocuments\*.doc) do @echo %%i --顯示d:\mydocuments\目錄下與*.doc相匹配的文件
  ===
  一、參數 /d (參數只能顯示當前目錄下的目錄名字)
  ---
  格式:FOR /D %variable IN (set) DO command [command-parameters]
  這個參數主要用於目錄搜索,不會搜索文件,/D 參數只能顯示當前目錄下的目錄名字。(TTT特別說明:只會搜索指定目錄下的目錄,不會搜索再下一級的目錄。)

  TTT示例:
  for /d %%i in (c:\*) do echo %%i --顯示c盤根目錄下的所有目錄
  for /d %%i in (???) do echo %%i --顯示當前目錄下名字只有1-3個字母的目錄

  ===
  二、參數 /R (搜索指定路徑及所有子目錄中與set相符合的所有文件)
  ---
  格式:FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
  此命令會搜索指定路徑及所有子目錄中與set相符合的所有文件,注意是指定路徑及所有子目錄。

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

Visual Studio 2005自動移除工具
Uninstalling Previous Versions of Visual Studio 2005網頁提供Run autouninstall tool now的移除工具。

Visual Studio 2008自動移除工具

解除安裝 Visual Studio 2008網頁提供立刻執行 AutoUninstallTool的移除工具。


文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

Visual Studio 2010 完整移除方法 VS2010 Full Uninstall

 
 
 
 
最近VS2010 一直出現錯誤,所以想要給他完整移除,FULL Uninstall重新安裝
文章標籤

NoSleep 發表在 痞客邦 留言(1) 人氣()

前一陣子,幫公司寫了一個自動化安裝系統的程式,
有一堆必要Component,x86、x64的安裝檔案不同,例如:Windows Installer 4.5。
於是,為了讓所有系統都可以達到自動辨識、安裝的目的,寫了以下一段程式,用來辨識OS是否為64位元。

先解說一下基本的原理:
辨識的原理,其實很簡單,基本的原理是透過檢查作業系統的『CPU定址長度』來判定。
32位元的作業系統,CPU定址長度會是32bit,即使使用的實體CPU是64位元的,OS仍會判定是32bit。
64位元,就沒有這種問題啦,不是64位元的CPU,應該也裝不了64位元的OS。

以下是判斷的程式碼:

  1. private bool DetectIf64bit()  
  2. {  
  3.   bool Is64Bit;  
  4.   ObjectQuery objQry;  
  5.   System.Management.ManagementScope mngScope;  
  6.   System.Management.ConnectionOptions connOpt = new ConnectionOptions();  
  7.   System.Management.ManagementObjectSearcher searcher;  
  8.   
  9.   //-----設定 WMI 連接資訊-----  
  10.   connOpt.Username = "";   // 登入系統的帳號  
  11.   connOpt.Password = "";   // 密碼  
  12.   connOpt.Authentication = AuthenticationLevel.Default;   // 連線驗證方式  
  13.   mngScope = new ManagementScope();  
  14.   mngScope.Path = new ManagementPath(@"\\.\root\cimv2");  
  15.   mngScope.Connect();  
  16.   
  17.   //----- 透過WMI擷取CPU定址長度資訊  
  18.   objQry = new ObjectQuery("SELECT * FROM Win32_Processor");  
  19.   searcher = new ManagementObjectSearcher(mngScope, objQry);  
  20.   Is64Bit = false;  
  21.   
  22.   foreach (ManagementObject QryObj in searcher.Get())  
  23.   {  
  24.     if (QryObj.GetPropertyValue("AddressWidth").ToString().Trim() == "64")  
  25.     {  
  26.       Is64Bit = true;  
  27.       break;  
  28.     }  
  29.   }  
  30.   
  31.   return (Is64Bit);  
  32. }  



這個辨識方法,已於Windows XP/Vista/2003/2008/7 實際測試

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

  VGA 是 Video Graphics Adapter(Array) 的縮寫,VESA 是 Video Electronics Standards Association 的縮寫,DDC 是 Display Data Channel 的縮寫,信號類型為模擬類型,顯示卡端的接口為 15 針母插座:

15 PIN HIGHDENSITY D-SUB FEMALE

顯示器連線端的接口為 15 針公插頭: 
15 PIN HIGHDENSITY D-SUB MALE

 

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

/*
 * DEC 93 Erik Bos <erik@xs4all.nl>
 *
 * Copyright 1996 Marcus Meissner
 *

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

Windows NT啟動過程詳解

我們每天都在和Windows打交道,很多人可能每天都要面對多次Windows的啟動過程,可是您知道在Windows的啟動過程背後,隱藏著什麼秘密嗎?在這一系列過程中都用到了哪些重要的系統檔案?系統的啟動分為幾個步驟?在這些步驟中電腦中發生了什麼事情?這些就是本文試圖告訴您的。

 

隨著技術的發展,我們能夠見到的電腦硬體種類越來越多。以電腦上最重要的組件CPU來說,目前就有很多選擇。當然,這裡的選擇並不是說AMD或者Intel這種產品品牌,而是指其內部的系統架構。目前常見的CPU系統架構主要是基於複雜指令集(Complex Instruction Set ComputingCISC)或者精簡指令集(Reduced Instruction Set ComputingRISC),我們常用的IntelPentiumCeleron系列以及AMDAthlonSempron系列都是基於複雜指令集的,而這些基於復雜指令集的CPU還有32位元和64位元的暫存器資料寬度區別。關於這些指令集以及暫存器資料寬度之間的區別等內容比較繁雜,而且不是本文的重點,感興趣的朋友可以自己在網上搜索相關內容。

 

因為CPU種類的不同,在不同CPU的系統中執行的Windows的啟動過程也有一些小的不同。本文將會以目前來說最普遍的,在x86架構的系統上安裝的32Windows XP Professional為例做介紹。

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

  我們使用VC編寫了一個Windows服務程序後,有時候需要調整其啟動順序,比如希望在其它一些程序之前啟動自己的服務程序,則我們首先必須瞭解Windows服務的啟動機制是什麼?

        Windows服務的啟動是按組來啟動的,這些組的啟動順序在註冊表中如下位置定義:

        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder下的一個名List的REG_MULTI_SZ鍵值中可以看到。

        而我們在編寫Windows服務程序時其實是可以對啟動順序進行設置的,我們先來看看CeateService函數原型:

SC_HANDLE CreateService(

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

  

MFC UNICODE項目CFILE寫html文件亂碼解決


 CFile file; CString filename = D:\\; filename+=L"index.html"; file.Open(filename,CFile::modeCreate|CFile::modeWrite); file.SeekToBegin(); WORD unicode = 0xFEFF; //UNICODE編碼文件頭 file.Write(&unicode,2); file.Write(CString內容,CString內容.GetLength()*2); file.Flush(); file.Close();

 

 

文本支持四種格式:ANSI/Unicode/Unicode big endian/UFT-8

不同編碼的文本,是根據文本的前兩個字節來定義其編碼格式的。定義如下:

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

程式中#pragma pack(1)的用途,但不知道它所代表的意義呢?以下將進行解說
#pragma pack(1)
作用:調整結構體的邊界對齊,讓其以1個位元組對齊。
範例一 

01 typedef struct _sampleA{
02 char a;
03 double b;
04 };
文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()