一些程式需求要判別Windows x86或x64,使用OS內建的Win API來做處理,其實這方法已經用很久了,為了方便,將該程式碼PO上來,大家可以參考。
我是Amin,喜好整合軟體之間的應用至數據分析,如Excel VBA、Python、C/C++、C#、JavaScript、Google Apps Script、Batch、MultiCharts的相互應用,歡迎各領域同好相互討論,創造人生精采的火花
最新消息
[公告2014/05/30] 如有需要將部落格中,任何一篇文章的程式碼使用在商業用途,請與我聯繫。
[公告2015/04/26] Line版的 iInfo程式與投資應用 群組已上線想加入的朋友們,請先查看 "入群須知" 再與我聯繫 Line : aminwhite5168,加入請告知身分與回答 "入群須知" 的問題。
[公告2018/04/22] 台北 Python + Excel VBA 金融資訊爬蟲課程,課程如網頁內容 金融資訊爬蟲班:台北班 Python 金融資訊爬蟲、EXCEL VBA 金融資訊爬蟲。
[公告2019/01/08] 請注意:我再次重申,部落格文章的程式碼,是要提供各位參考與學習,一旦網頁改版請自行修改,別要求東要求西要我主動修改,你們用我寫東西賺錢了、交差了,請問有分我一杯羹嗎?既然賺錢沒分我,請問有什麼理由要求我修改,如果沒能力改,就花錢來找我上課。
[公告2015/04/26] Line版的 iInfo程式與投資應用 群組已上線想加入的朋友們,請先查看 "入群須知" 再與我聯繫 Line : aminwhite5168,加入請告知身分與回答 "入群須知" 的問題。
[公告2018/04/22] 台北 Python + Excel VBA 金融資訊爬蟲課程,課程如網頁內容 金融資訊爬蟲班:台北班 Python 金融資訊爬蟲、EXCEL VBA 金融資訊爬蟲。
[公告2019/01/08] 請注意:我再次重申,部落格文章的程式碼,是要提供各位參考與學習,一旦網頁改版請自行修改,別要求東要求西要我主動修改,你們用我寫東西賺錢了、交差了,請問有分我一杯羹嗎?既然賺錢沒分我,請問有什麼理由要求我修改,如果沒能力改,就花錢來找我上課。
[公告2019/12/01] 若各位有 Excel VBA 案子開發需求,歡迎與我聯繫,可接案處理。
[公告2020/05/22] 頁面載入速度慢,起因為部分JS來源(alexgorbatchev.com)失效導致頁面載入變慢,目前已做調整,請多見諒。
[公告2020/05/22] 頁面載入速度慢,起因為部分JS來源(alexgorbatchev.com)失效導致頁面載入變慢,目前已做調整,請多見諒。
2017年4月18日 星期二
2016年10月30日 星期日
Excel VBA清除剪貼簿內容
近期為了解決一個在Excel上進行大量複製時而發生記憶體空間不足的問題,想說要將清除剪貼簿內容,但始終不得其門而入,後來將程式改寫另一種優化方法克服。
這裡將先將找到清除剪貼簿內容先做一紀錄,等未來找到更好解法再行補充。
這裡將先將找到清除剪貼簿內容先做一紀錄,等未來找到更好解法再行補充。
2015年12月31日 星期四
用Windows API取得系統SMBIOS table的資訊
在UEFI BIOS機器上已不像Legacy BIOS機器這麼容易取得SMBIOS Table的資訊,這時可以使用微軟提供的Windows API GetSystemFirmwareTable函數取得UEFI BIOS下的SMBIOS Table的資訊,想了解更多有關SMBIOS Table請至官網查詢,以下就用程式碼來說明。
2013年9月15日 星期日
VC使用Delay Load dll操作MFC100.dll
使用DLL會常遇到一些問題,就是相同名稱的DLL,分x86與x64版本時,如果用錯版本系統將丟出錯誤訊息框顯示,或是DLL中並沒有需要使用的函數。前者可用PE檔案格式可以抓出版本的問題,但後者就可能沒辦法順利抓出所需要的訊息。
如果真的想要抓出DLL錯誤的內容可以使用從VC6時就已經添加的功能Delay Load DLL來幫助我們達成目標,至於如何使用,就讓我們繼續看下去。
如果真的想要抓出DLL錯誤的內容可以使用從VC6時就已經添加的功能Delay Load DLL來幫助我們達成目標,至於如何使用,就讓我們繼續看下去。
2013年9月3日 星期二
2013年8月27日 星期二
控制螢幕解析度
在Winpe下的解析度預設為800*600,如果想調整解析度,第一個會想到就是要安裝顯卡Driver,可是安裝VGA Driver又需要Reboot,在這樣的情況下就會變得很麻煩,不過微軟有功有關VGA的相關設定,就讓我們繼續看下去。
2013年8月26日 星期一
VC上實現gotoxy()的作法
最近寫程式需要用到C語言的gotoxy()函數,來設定螢幕游標的位置,想說在VC應該有這個函數,結果竟然沒支援,不過微軟提供另外的方式可以做到跟gotoxy()函數的功能,使用了一下效果還不錯,不過就是寫了太多行程式碼,如果可以再更精簡會更好。
2013年6月16日 星期日
REG_SZ、REG_MULTI_SZ與REG_EXPAND_SZ的區別
近期為了修改Winpe的Registry,常弄錯REG_SZ、REG_MULTI_SZ與REG_EXPAND_SZ的意義,特別整理了一下,以便未來複習。
2013年5月11日 星期六
2013年5月8日 星期三
2013年4月27日 星期六
2013年4月18日 星期四
2013年4月17日 星期三
使用GetFileVersionInfo來取得程式的版本資訊
延續前一篇使用VC6與VC2010在Resource欄位的差異,透過GetFileVersionInfo來取得程式中,有關版本資訊,就可以比較出VC6與VC2010在Resource檔的差異。
2013年4月16日 星期二
2013年4月15日 星期一
2012年9月15日 星期六
VC++, JavaScript的日期函數使用
因工作要使用VC++時間處理函數,加上近期在研究Highstock也需要使用到JavaScript時間處理函數,所以將兩者處理時間的方法一起列出
以下是一個使用VC++時間處理類別CTime的範例
以下是一個使用JavaScript時間處理函數的範例
兩者的差異
以下是一個使用VC++時間處理類別CTime的範例
int main(int argc, TCHAR* argv[])
{
CTime cTime = CTime::GetCurrentTime();
printf("Year : %d\n", cTime.GetYear());
printf("Month : %d\n", cTime.GetMonth());
printf("Day : %d\n", cTime.GetDay());
printf("Hour : %d\n", cTime.GetHour());
printf("Minute : %d\n", cTime.GetMinute());
printf("Second : %d\n", cTime.GetSecond());
printf("Time : %d\n", cTime.GetTime());
return 1;
}
執行結果以下是一個使用JavaScript時間處理函數的範例
<html>
<head>
<title>JavaScript Test Date Function</title>
<script type="text/javascript">
function run() {
var CurrentTime = new Date();
document.write("Year : " + (CurrentTime.getYear() + 1900) + "<br>")
document.write("Month : " + (CurrentTime.getMonth() + 1) + "<br>")
document.write("Date : " + CurrentTime.getDate() + "<br>")
document.write("Hours : " + CurrentTime.getHours() + "<br>")
document.write("Minutes : " + CurrentTime.getMinutes() + "<br>")
document.write("Seconds : " + CurrentTime.getSeconds() + "<br>")
document.write("Time : " + CurrentTime.getTime() + "<br>")
}
</script>
</head>
<body onload = run();>
</body>
</html>
執行結果
兩者的差異
VC++
|
JavaScript
|
|
Time
|
Second
|
Millisecond
|
Year
|
不加1900
|
需加1900
|
Month
|
以1為起點,範圍1~12
|
以0為起點,範圍0~11
|
訂閱:
文章 (Atom)