[Minecraft] 發生更新失敗可以試著清理磁碟

小女兒在老婆電腦裝 Minecraft ,今天跑來找我說,要升級到 1.12 版都失敗,但是女兒講不出錯誤狀況。

去看了一下,點選下載,跑一下就跳出下載失敗。

感覺是被快取擋了。

透過 檔案總管 > C 碟 > 滑鼠右鍵 > 內容 > 磁碟清理

網際網路的暫存檔有 1.2GB ,清理完後,再跑升級就正常慢慢下載了。

Categories: 嗜好 | 標籤: | 發表留言

[Office] 將 Word 預設單位改為公分

Word 預設單位顯示為字元,習慣舊版用公分的可能會不習慣。

如下圖,邊緣的尺規、樣式都顯示為字元。

使用字元單位

使用字元單位

 

以 Word 2013 為例,操作方式為:

開啟 Word > 選單 > 檔案 > 選項 > 進階 > 顯示

將 [顯示字元寬度單位] 的勾勾移除。

顯示字元寬度單位

顯示字元寬度單位

則 Word 才會依照上圖的 [顯示度量單位] 的單位進行顯示。

例如下圖為 A4 的尺規。

使用公分單位

使用公分單位

Categories: Office, 技術分享 | 標籤: | 發表留言

[WinPE] EaseUS Todo Backup 還原新硬碟

Todo Backup Free 10.0 是一套僅有英文介面的全機備份還原軟體,採用 Win10 的 WinPE,可以使用行動碟開機,例如 GPT 4TB ,特別的是可以用在純 USB 3.0 環境。

大部分備份還原軟體可能會發生無法使用 USB 3.0 開機或是插 USB 3.0 的鍵盤、滑鼠不支援,Todo Backup Free 可解決這個問題。

http://www.todo-backup.com/products/home/free-backup-software.htm

但 Todo Backup Free 有個傻問題,當你要還原到新硬碟時,會因為硬碟沒規劃磁區,因此選不到磁碟,無法還原。

解決方案是呼叫 Windows 內建的 Diskpart.exe:

  1. 主畫面工具列右側選 [Tools]
  2. 選 [Windows Shell] 會跳出命令列提示字元。
  3. 執行 [Diskpart]
  4. 輸入執行 [list disk]
  5. 找到新硬碟的磁碟代號 n,輸入執行 [select disk n]
  6. 非必要步驟,檢查磁碟詳細狀況,輸入執行 [detail disk]
  7. 一般新硬碟為 mbr 基本磁碟,不必特別輸入指定,可參考步驟 6 的詳細狀況,若非 mbr ,輸入執行 [convert mbr]。
  8. 建立主要磁區,由於只是為了在介面能顯示出來,所以不用管大小,直接建立,輸入執行 [create partition primary]
  9. 指定磁碟代號,輸入執行 [assign]
  10. 檢查磁碟詳細狀況是否完成設定,輸入執行 [detail disk]

若沒其他問題後,回到 Todo Backup Free 主畫面選 [Browse to Recover] 即可依照精靈介面選擇,開始還原到空硬碟。

http://www.todo-backup.com/products/home/screenshots.htm

講實在,不支援新的空硬碟滿瞎的,但看在 USB 3.0 支援分上,只好忍著啦~

Diskpart 官方網站參考用法:

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[W7E] Windows 7 Embedded 預設環境安裝

這篇是工作紀錄,理論上正常的影像檔應該不會有此問題。

公司買工業電腦有隨附 Windows 7 Embedded (W7E) x86,因為上面會跑我們的東西,基本上是盡量把功能都裝上去,在安裝過程中有碰上一些問題,但是透過業務回去要工程師解決要排隊,所以就盡量跳過回頭改 W7E Image 的作法。

第一次同事僅跑一次安全性更新後,欲安裝 SQL Server 2014 Express,一直卡在 .Net framework 2.0 不過,但是安裝程式檢查 .Net framework 2.0 是存在的,所以很難搞,換我接手處理。

重新還原影像檔案後,跑安全性更新跑到沒有更新為止,大概共五次,其中第四次有更新到 .Net framework 3.51 ,看到更新到這塊就安心了。

先安裝好 Internet Explorer 11 及 .Net framework 4.0 Client 做準備。

開始安裝 SQL Server 2014 Express SP2 時,關閉線上更新檢查,有特別看檢查環境清單,包含 .Net framework 、PowerShell 2.0 都顯示是已經有的,接著開始繼續安裝,安裝過程很快通過先前 .Net framework 2.0 安裝,之後約跑到 70% 仍然跳出錯誤,顯示 PowerShell 2.0 的錯誤,繼續可以把大部分安裝完,比如說 LocalDB ,但最重要的 Service / SSMS 卻是安裝不上去。

W7E 沒有新增移除元件,PowerShell 2.0 又是 Win7 內含元件,這部分問了一下工業電腦業務,感受到需要一點時間,便改問 google 大神。
由於 PowerShell 2.0 為 Win7 內建元件,微軟下載中心只有 Vista 以前安裝包,不能安裝到 Win7 上。
考慮到 PowerShell 3.0 是 2.0 更新有試過安裝 PowerShell 3.0 ,可能是 PowerShell 2.0 不完整,因此造成 PowerShell 3.0 不能安裝。
最後只能試 PowerShell 4.0 ,從微軟網站下載:https://www.microsoft.com/zh-tw/download/details.aspx?id=40855
安裝 Windows6.1-KB2819745-x86-MultiPkg.msu

安裝完後,重新跑 SQL Server 2014 Express SP2 修復安裝,就可以把資料庫引擎、管理工具都正常安裝,所以 SQL Server 2014 雖然最低需要 PowerShell 2.0 ,但可以用 PowerShell 4.0 取代。

不過我沒試最新的 PowerShell 5.1。
https://www.microsoft.com/en-us/download/details.aspx?id=54616

找的過程倒是看到個奇妙的東西,以前不搞 PowerShell ,一直沒關注:
PowerShell ISE (整合式指令碼環境)
https://msdn.microsoft.com/zh-tw/powershell/scripting/getting-started/fundamental/windows-powershell-integrated-scripting-environment–ise-

可以直接看影片看範例:
https://www.youtube.com/watch?v=uDBvFIPWNJE

接下來開始處理 Windows Media Player 撥放 wmv 測試,我們家的 W7E Image 不能播?一樣開始拜 Google 大神,沒啥用,因為 WMV codec 應該是 Win7 內建,封裝沒處理下,根本解不了。

下載 WM9Codecs.exe ,但是不給裝,說與 Win7 不相容。
https://www.microsoft.com/en-us/download/details.aspx?id=507

後來測試將 WM9Codecs.exe 解壓縮後,分別對下列兩個檔案滑鼠右鍵、安裝,之後就可以播放 wmv 了:
codecs9x.inf
codecs10.inf

暫時把工業電腦相關檔案及環境都設定好了。

Categories: 工作點滴 | 標籤: | 發表留言

[安全] Outlook 預設無法顯示網路上的圖片才是正常的設計

最近在論壇上看到一些很瞎的言論,很多人認為 Outlook / Live Mail 是一種很爛的設計,應該改掉或換軟體,這才是錯誤的觀念。

隨著多媒體社會到來,eMail 弄得美美的是常見的行為,因此 eMail 內有圖片,感覺就是高大上。

圖片有兩種方式放在 eMail ,一種是嵌入,一種是網路上的來源。

嵌入就是把圖片直接包含在 eMail 內,一般使用者在寄送 eMail 時,預設行為是嵌入,也就是說你正常在 Outlook 或其他郵件軟體寫信的時候,你只能使用這種模式。

網路上的來源表示,圖片是用參照的方式伴隨 eMail 寄送,瀏覽信件時才下載,通常是廣告信軟體或是從網頁剪貼內容貼到 eMail 時,才會變成網路上的來源。

因此嵌入的信件,圖片所占用的網路流量是寄送時發生,讀取時不會再產生,可離線閱讀。

網路上的來源,圖片所占用的網路流量是讀取時發生,每次讀取時,每次下載圖片,因此不能離線閱讀。

正常來說,你寄信給對方,對方通常會看,所以圖片嵌入信件才屬正常,所以一般往來郵件都會正常顯示。

但是廣告信通常會被歸類為垃圾郵件,很多會在 Mail Server 就被擋掉,用 WebMail 可能會看到一堆垃圾郵件根本就沒收到 Outlook 內,使用者根本看不到,所以廣告信被讀取率大概在 5% 以下,內嵌圖片的話,對於寄信端網路流量壓力太大,因此透過網路上的來源可以節省 95% 以上的網路流量,可降低網路使用成本。

所以早期的 Outlook 是允許直接出現網路上的來源。

大概是在 2004/07 左右的安全性更新,預設行為改成不讀取,需要使用者變更安全性設定。

又為哪樁?

隨著 eMail 大量使用,廣告信業者或是惡意郵件根本就不知道那些 eMail 還有人在用。比如說 01@gmail.com ~ 10@gmail.com 共 10 個連號郵件,可能只剩 5 個還有人用,其中可能只有 1 個是活躍 (經常使用) ,或是整個系統的 spam 都被過濾了,那麼蒐集到的有效 eMail 實際上可能只有 10% ,浪費流量在不存在的 eMail 中,根本是浪費成本,所以可以透過很簡單的小技巧,例如在信件內的網路上來源使用自管的 web server 圖片,內容為:

<img src='http://自管webserver/路徑/圖片.jpg?eMail=你的信箱' />

當圖片被讀取時,就可以知道這個信箱使用中,使用者目前在哪國用哪家業者網路上線,配合反追蹤 (trace router) 還可以大致鎖定城市,甚至依據 Agent 的內容,還可以探知作業系統版本,使用哪種瀏覽器,幾點第幾次讀取。

基於保障用戶的隱私,預設值變成不讀取,如下圖。

預設不下載圖片

預設不下載圖片

藍色框框是 Outlook 提醒你這是正常的狀況,你可以自己變更。

綠色框框是發信單位都知道這個預設情形,所以直接給你超連結,讓你改用網頁瀏覽,但如果不是可信任的寄件者,請不要點選。

安全與方便是取捨問題,要更多的安全,就是不方便,要更多的方便,就是不安全。

要讀取圖片,點上圖紅色框框,可以變更:

允許下載圖片

允許下載圖片

  • 僅這封郵件要有圖片,點選「下載圖片」。
  • 要讓這個廣告信發信者以後都自動下載圖片,點選「新增寄件者至安全的寄件者清單」。
  • 要讓這個廣告信公司,例如玉山銀行,以後都自動下載圖片,點選「新增 xxx 網域至安全的寄件者清單」
  • 要變更所有圖片自動下載的設定,點選「變更自動下載設定」,如下圖:
變更自動下載

變更自動下載

把「不自動下載 HTML 電子郵件訊息或 RSS 項目中的圖片」勾勾拿掉。(不建議)

下載過圖片的信件,之後不管第幾次開啟,都會自動載入圖片。

自動下載圖片

自動下載圖片

廣告信要直接內嵌圖片可參考這篇做法:[VBNET] 在 HTML 郵件內加入樣式庫

Categories: 電腦和網際網路, Office | 發表留言

[WU] 升級 Windows 10 1703

台灣時間 2017/04/05 後 Win10 1703 已經開始發布,大部分的人還在苦苦等候 Win10 自動推送,若急著裝,可直接用 Win10 連結下面微軟網頁:

https://www.microsoft.com/zh-tw/software-download/windows10

若使用 Win10 連線,會自動出現 [立即更新] 這部分,若不是使用 Win10 連線,只會出現 [立即下載工具] 。

立即升級 Win10

立即升級 Win10

點選 [立即更新] 安裝,會在桌面上出現 [Windows 10 升級小幫手] ,並自動執行,若沒有自動執行或失敗,下次可點選 [Windows 10 升級小幫手] 。

Win10 升級小幫手

Win10 升級小幫手

若升級完成還執行 [Windows 10 升級小幫手] ,會跳出畫面顯示 已是最新的 Windows 。

最新 Windows

最新 Windows

這個軟體看起來應該是微軟企圖要做為未來升級工具用,升級完成後,不會自動移除,可自己到 [程式和功能] 去移除,省得在桌面占空間。

程式和功能

程式和功能

目前我升級幾台的經驗,[程式和功能] 若依照安裝日期排序,會發現很多軟體安裝日期被更改到 Win10 升級的那天,包含 [Windows 10 升級小幫手] ,由於安裝完 1703 ,Win10 會重新進入歡迎畫面,所以推測可能是 Win10 判斷軟體安裝資訊受損時,自動啟動重裝,部分檔案預設軟體可能因為自動重裝後,產生預設軟體改變,例如說圖檔可能會變回預設 Win10 開啟,或是 Zip 回復到 Win10 內建解壓縮,這個可能需要自己處理。

上面的網頁 [立即更新] 只支援 家用版 及 專業版 ,若是企業版,需要從大量授權網站下載 Win10 1703 企業版 ISO 安裝光碟直接點選 setup.exe 才能升級。

Win10 1703 比較像是新版本的安裝,所以多數安全性更新或 Windows Update 更新錯誤是不用管,安裝新版後會修復,但仍有相關問題不能安裝,Windows Update 不能正常執行時,可從下面網頁點選 Win10 疑難排解員進行故障排除:

https://support.microsoft.com/zh-tw/instantanswers/512a5183-ffab-40c5-8a68-021e32467565/windows-update-troubleshooter

若有特定 KB 不能安裝,可透過下面網頁搜尋下載離線安裝:

https://www.catalog.update.microsoft.com/Search.aspx

請輸入完整 KB 及數字,例如:

https://www.catalog.update.microsoft.com/Search.aspx?q=KB4015438

Categories: 工作點滴, 技術分享, 更新與回報 | 標籤: | 4 則迴響

[Chrome] 模擬行動裝置瀏覽器

話說,去年 10 月就在喊,Chrome 會在去年 12 月放出 低耗能 的正式版,終於在前兩天放出來了,紀念一下今天更新 Chrome ,就來看看工作利器,模擬行動裝置瀏覽器的操作步驟。

Chrome 57省電有一套,將背景分頁CPU使用率限制在1%內

選 Chrome 是因為夠直覺,但最重要一點是虛擬機沒法比的,就是 桌面版 Chrome 內建的開發工具,可以方便針對 javascript / css / html 語法除錯。

直接上 Chrome 57 的螢幕截圖:

從右上角 設定符號 展開選單,點選 [開發人員工具]

開發人員工具

開發人員工具

在開發工具 展開設定選單,點選 [Settings]

設定

設定

勾選需要模擬的內建裝置,或自己新增自訂裝置

新增自訂裝置

新增自訂裝置

開發工具在工具列點選 切換網頁為 裝置模擬畫面

切換網頁為裝置模擬畫面

切換網頁為裝置模擬畫面

選擇要模擬的行動裝置,這邊以 Microsoft Lumia 950 為例。

選擇模擬裝置

選擇模擬裝置

從工具列可以修改長、寬 (預設裝置),若已選定模擬裝置,只能選擇縮放比例跟轉向,部分裝置不提供轉向功能。

轉為橫向

轉為橫向

操作時,可看到一個大大的圓圈,是滑鼠模擬手指點選的中大圓形。

滑鼠模擬手點為中大圓形

滑鼠模擬手點為中大圓形

IE 11 雖然也有簡單的模擬功能,但是沒有這麼視覺化,Chrome 桌面版在桌面狀態下不支援 viewport 設定及 SVG 縮放,但是在行動裝置模擬狀態時則支援。

紀念一下 Chrome 節電 66%~

Categories: 電腦和網際網路, 行動裝置, 工作點滴 | 標籤: | 1 則迴響

[Office] Outlook 2013/2016 無法接收微軟信箱情形

微軟的 Hotmail / Outlook.com / msn.com / livemail.tw 等信箱,這幾個月在升級,從 Exchange ActiveSync 升級到 Microsoft Exchange
(我最早收到通知是英文版 2016/11/11,2016/12/22 以後收的是中文版,我抓中文版最新的畫面)

通知信

通知信

 

微軟的說明:
您可以在官方 Microsoft 支援網站存取重新連接帳戶的逐步指示:https://go.microsoft.com/fwlink/?linkid=837697

微軟的常見問題:
Windows 版 Outlook 近期問題的修正或因應措施

如果 Outlook 無法正常收信,可以手動改回使用 Exchange ActiveSync

新增帳號手動設定

新增帳號手動設定

 

選擇信箱類型

選擇信箱類型

伺服器資訊填入 eas.outlook.com

輸入伺服器

輸入伺服器

如果不是 Outlook 2013/2016 ,例如 Windows Live Mail,或是即使是 Outlook 2013/2016,但上面方法無法解決,可以透過 WebMail 登入,從選項啟用 POP3 / IMAP ,選擇其中一種方式設定收信,一般來說,建議使用 IMAP 。

支援 POP3

支援 POP3

剪貼 2017/03/12 的資訊如下:
POP
伺服器名稱: pop-mail.outlook.com
連接埠: 995
加密方法: TLS

IMAP
伺服器名稱: imap-mail.outlook.com
連接埠: 993
加密方法: TLS -> 注意:實測應為 SSL

SMTP
伺服器名稱: smtp-mail.outlook.com
連接埠: 587
加密方法: STARTTLS -> 注意:實測應為 TLS

以下為 Outlook 2013 實際設定畫面:

Outlook 2013 進階設定

Outlook 2013 進階設定


[2017/04/02 新增 Windows Live Mail 設定畫面]

如果使用 Windows Live Mail 連接 Hotmail 系列信箱,請參考下面兩個畫面的設定:

Mail Server 及認證方式

Mail Server 及認證方式

 

加密方式及 port

加密方式及 port

 

 

Categories: Office, 技術分享, 更新與回報 | 標籤: | 發表留言

[VS] Visual Studio 20 周年 – 我與 Visual Studio 的故事

大家都在回顧 Visual Studio ,我也參一腳,如果是想要看技術文的,現在可以跳出了,這是一篇回憶文。

我在
Microsoft Basic 歷史回顧
這篇有回顧了微軟的 Basic ,重複的就不多說了,就從 Visual Studio 前身說起好了。

在 1991 上大學時,學校教 Fortran ,那時用 Microsoft Fortran 5.0/5.1 ,裡面包含了 Visual Studio 最早的前身:
Microsoft Programmer’s WorkBench (PWB)

Microsoft Programmer's WorkBench (PWB)

Microsoft Programmer’s WorkBench (PWB)

來源:http://www.phatcode.net/res/175/images/masm6_01.png

PWB 內修改 Fortran 編譯參數

PWB 內修改 Fortran 編譯參數

來源:http://d.hatena.ne.jp/fortran66/20120503/1336066971

QuickHelp

QuickHelp

QuickHelp

來源:http://www.phatcode.net/res/175/images/masm6_02.png

當然,在那個年代,Quick Basic 彈性遠高於 PWB ,但這也是直譯環境跟編譯環境的差異,不能直接比較。

我還有在 BBS 貼文分享將同一支程式碼編譯成 DOS/Windows 雙用的執行檔:
http://tlcheng.twbbs.org/TLCheng/Fortran/Msf51/doswin.txt

那個年代,PWB 支援五種語言,可以從 QuickHelp 畫面看到,支援:
Microsoft C/C++ (5.0 ~ 7.0/MFC 1.0,後接 Visual C++ 1.0)
Assembly (MASM)
Microsoft BASIC Professional Development System (PDS/QBX 7.1,不能用 QB45,後接 VBDOS/VB 1.0)
Microsoft Fortran (5.0/5.1,後接 Microsoft Fortran PowerStation 1.0)
Microsoft COBOL (5.0)

所以可以看出,微軟曾經打算用 PWB 一統開發環境過,除錯時則會自動呼叫 CodeView,我是懷疑 CodeView 是最早的 DLL。

從 PWB 選單架構來看,就可以看到現在 Visual Studio 選單的雛型,彈性的編譯參數調整,也引領現代的 Visual Studio 。而 QuickHelp 就如同後來的 MSDN 線上手冊,怎麼看,都沒辦法把 PWB 跟 Visual Studio 做切割。

那時,我用 Fortran 主要是寫 DOS 程式,也寫過 Windows 程式 (QuickWin) ,在那個年代,只有 DOS 下 512kb 左右的記憶體可用,編譯成 Windows 程式,單一陣列就可以開到 8MB ,對於水利海洋計算都是大範圍面積的幫助很大。

在 PWB 下寫的基本上都是作業,1992用 Fortran 寫河工學作業算河道縱斷面水位時,就把它當成簡單電動寫,換現代的說法就是閒著蛋疼,不過那個年代沒啥娛樂,所以寫作業也能寫出樂趣來。

大三河工學作業-河道斷面水位計算

大三河工學作業-河道斷面水位計算

大三河工學作業-結束時版權畫面

大三河工學作業-結束時版權畫面

可惜當時 QuickWin 的程式畫面我都沒截,只能看網路的畫面緬懷一下。

Microsoft Fortran 5.1 QuickWin

Microsoft Fortran 5.1 QuickWin

來源: https://software.intel.com/en-us/node/535318

除此之外,我還用 PDS 7.1,PDS 7.1 自己有 QBX 介面比 PWB 好,但是若是要談到混合語言,就只能在 PWB 下,我記得我當時有三本混合語言的書,不過有一本松崗翻譯微軟手冊的書不見了,只找得到兩本。

Microsoft 混合語言程式設計

Microsoft 混合語言程式設計

 

五種熱門語言 類似用法導向

五種熱門語言 類似用法導向

所以可以看出來,當時微軟不但想要用 PWB 統一開發環境,還打算在這個開發環境下跨語言支援,跟現在 Visual Studio 設計理念很像,所以我認為 PWB 是 Visual Studio 的前身。

1992下半年後,分別到兩個副教授手下去做兼任研究助理,一邊學 AutoLISP 在 AutoCAD 自動繪圖,另外一邊主要是跟 HP BASIC 奮戰,當時用 QB45 寫了一個潮位站資料擷取通訊程式,大概是主要的成果。

兩邊副教授一邊用 AmiPro ,一邊用 Word 5.0 ,Word 5.0 那時還不是 VBA ,內建 WordBasic ,直到 1995 年國科會統一收 Word 6.0a 格式提送的計畫書,才再也沒碰過 AmiPro 。

比較詭異的是,台灣可以找到 Word 5.0 的電腦書,但是維基百科沒有 Word 5.0,該不會是因為中文化的特殊版本吧:https://en.wikipedia.org/wiki/Microsoft_Word

這篇可以找到日文版的 Word 5.0 版權畫面跟螢幕畫片:http://lsair.html.xdomain.jp/a/e/ibm-win31-screenshots.html

Google 也可以看到當時出了很多中文書:https://www.google.com.tw/#q=%22Microsoft+Word+5.0%22+%E4%B8%AD%E6%96%87%E7%89%88

但是拿來寫第一篇研討會論文的卻是用 AutoLISP + Quick Basic 寫:
徐昇多邊形網的自動化計算」,八十四年電子計算機於土木水利工程應用論文研討會論文集,中壢,第 465 – 476 頁,民國 84 年 10 月。

在 AutoCAD R12 呼叫外部QB45程式產生綠色、黃色、淺藍色三圖層

在 AutoCAD R12 呼叫外部QB45程式產生綠色、黃色、淺藍色三圖層

 

VB for Windows 發展迅速,在 VB3 以前,一統 Windows 3.1 以前的開發環境,用 C 根本是作孽,在沒有 MFC 之前,用 Fortran 或是 C 寫 Windows 程式差不了太多。

1993/02/09 微軟出了 Microsoft Fortran Powerstation 1.0 for Windows and DOS,我印象中這時的介面跟 VC 1.0 就是最早的 Visual Studio 原型,可是太久了,記不太清楚,我印象我有用過的版本應該是 1994/02/08 出的 1.0a ,當時我在 tw.bbs.comp.language.fortran 論壇回文時就有提到,以前在 google Newsgroup 那邊還搜尋到過。

PowerStation 1.0

PowerStation 1.0

來源: http://www.emsps.com/oldtools/msforv.htm

Microsoft Fotran PowerStation 1.0

Microsoft Fotran PowerStation 1.0

 

來源:http://d.hatena.ne.jp/fortran66/20120503/1336066971

這時的 Fortran 版本是最慘的,我記得除了呼叫 Process 方式可以跨語言外,其他沒有方法支援,而這時候的 PowerStation 也不支援呼叫 API ,所以沒辦法透過 API 呼叫 VC 寫的 DLL ,反而 VB3 還能呼叫 VC1 的 DLL ,VC1 則不能呼叫 VB3 的 .vbx。

1994年,GIS剛開始興盛,資策會放了一堆給 VB3 用的 API 出來,我那時下半年要執行研究計畫,到水資源統一規劃委員會 (現在水利署台北辦公室) 學當時台灣跟荷蘭一起合作的 VB3 寫的水資源調度軟體,下半年做計劃的時候自己寫。
「台灣地區水資源供需情勢分析(一)」,台大慶齡工業研究中心,台北,民國 85 年 6 月。

1995年,用 VB3 寫類神經網路程式,放在多台電腦上跑學習,才讓我順利畢業,不過程式碼都不知道到哪了,更別說畫面了。程式碼我在念博士班時還有翻出來給碩士班學弟用,不過我現在還是找不到執行畫面…

1995/05/10 出的 Microsoft Fortran PowerStation 4.0 / Visual Basic 4.0 16/32 bits / Visual C++ 4.0 正式孕育起 Visual Studio ,首先第一件事就是統一版號,當時因為 VB 已經 3.0 了,所以 PowerStation 直接從 1.0b 跳到 4.0 ,VC 則從 2.0 跳到 4.0,編譯器正式從 16 bits 跳到 32 bits。

PowerStation 4.0

PowerStation 4.0

來源: http://www.emsps.com/oldtools/msforv.htm

維基百科 Visual Studio 有提到:
Prior to Visual Studio Version 4.0, there were Visual Basic 3, Visual C++, Visual FoxPro and Visual SourceSafe as separate products.

另外在 http://www.academia.edu/7247842/Dendi_Hidayat_-_Perbedaan_Web_Form_dan_Windows_Form
提到 Visual Studio 第一版是在 1995/04 出的,而 4.0 就是第一版。

但是多方查證的結果,應該當時是叫做 Microsoft Developer Studio 4.0 ,最糗的事我自己的網頁還有截圖:

標題列為 Microsoft Developer Studio

標題列為 Microsoft Developer Studio

來源:http://tlcheng.twbbs.org/TLCheng/Fortran/MSF4/fdebug.htm

PowerStation 滿慘的,連維基百科都沒有介紹專頁,幾乎找不到它的存在。Fortran 在 1985 前是獨霸科學界,連飛出太陽系的冒險家 1/2 號,都是用 Fortran 寫的,直到 1985 後,C 才開始抬頭,沒想到現在回顧過去,連資料都找不太到。

VB4 看起來是 1995/08 出的:https://en.wikipedia.org/wiki/Visual_Basic
VC4 看起來是 1995/12/11 出的,從 VC 的歷史還能看到我先前提到關於 Fortran 的歷史,懷念阿~ https://en.wikipedia.org/wiki/Visual_C%2B%2B

從分別出版的時間看,當時也只統一了版號跟 Fortran/VC 開發環境,這時還沒有 Visual FoxPro,但這時 PowerStation 4 已經恢復了透過混合語言呼叫 VC 或是產生 DLL 給 VB4 叫用。

而在 Office 中,Excel 4.0 的 Macro / Word 5.0 的 WordBasic ,也被統一為 Visual Basic for Application ,雖然還是巨集,但是已經是 VB 的成員,當兵前把經驗傳承給學弟,當時我的碩士論文是用 Excel 讀取 VB3 算出來的資料,送進 Excel 畫圖,再自動產生 Word 表格跟插圖,節省我大量人工時間,指導教授換個參數,跑完可以自動產生表格與圖,完全不用花時間整理,因此寫了一篇:
MS Office 自動化巨集 (Excel & Word)

1996下半年去當兵,在部隊倒是有摸到 VB4 16 bits ,那時在工校受訓,到校部寫排課系統,沒寫完就分發到部隊了,聽說後來下基地的同梯又被抽去寫排課系統,對我抱怨很多~~~ 哈哈。

1997年中調司令部接工補官,開始週三下午有散步假,周四早上莒光日前收假,散步假回台北顯然是不現實的,當兵的人又死也不想待部隊,所以我就回成大找念博士班的同學,就待在同學研究室耗到天亮,這時同學開始用 PowerStation 4.0 ,我沒事就玩這個… 現在想起來也滿悲哀的,同學研究室有點像後來的網咖,上網上到爽,但我又不可能在同學電腦裝電動,所以只能拿編譯器來玩消磨時間…

當時補辦室還在用 386 兩台打公文,隔壁的參四科有一台 486 ,我就用 QB45 寫了公文排版系統給補辦室跟參四科用。之後補辦室室長買了一台私人的 Pentium ,又碰上精實案,我跟另外一個通補官就在那台奔騰上寫精實案的資料庫~

大概太閒了,利用空檔把碩士論文整理成研討會論文,本來還夢想當兵可以請公假去,結果不行:
分佈型類神經網路降雨逕流模式之研究」,八十六年電子計算機於土木水利工程應用論文研討會論文集,新竹,第 993 – 1004 頁,民國 86 年。

1997下半年另一個同學電腦有裝 VB4 ,就開始完善先前在 台灣地區水資源供需情勢分析 計畫中,寫到一半的網流程式,然後以工兵少尉的身分寫了一篇:

Network Flow Programming 計算路網中

Network Flow Programming 計算路網中

「簡易部隊移動路線之最佳化分析」,陸軍工兵科技季刊 106期(已接受),燕巢,民國 87 年 2 月。

接著又寫一篇:
工兵部隊道路爆破路線選擇之研究」,國軍電腦兵棋專輯第五輯,台北,第 73 – 89 頁,民國 87 年 6 月。

當時在投國軍電腦兵棋時,工兵季刊出到105,所以打電話去問承辦少校,承辦少校說已接受,預定 106 刊出,我就直接寫到上面那篇 (見參考文獻 1) ,等到 106 沒刊出,我又打電話去問,承辦少校說,它的中校科長嫌我軍階低,不想刊出… ㄜ… 我回他說,電腦兵棋那邊刊出後面的了,你自己看著辦吧,我也不知道要說啥,接著我就退伍了,我也不知道後面到底有沒有刊出來。

電腦兵棋算是軍方 A 級期刊,工兵季刊大概是 B 級,被 B 級嫌棄卻被 A 級接受,我想當時的承辦人臉上應該是個冏字吧~ 哈~~~

1998年退伍回到學校,先用 PowerStation 4.0 寫程式,上面那篇 PowerStation 的圖就是,然後去投研討會。
發揮水田坵塊生態保護效益之田埂高度」,八十七年度農業工程研討會論文集,台北,第 829 – 836 頁,民國 87 年 12 月。

同時開始使用 VB5 寫介面整合 Fortran ,跟痞子蔡 (蔡智恆) 做曾文防洪計畫,河道演算的 Fortran 程式就是痞子蔡寫的:
曾文水庫防洪運轉資訊系統操作手冊」,成大水利海洋研究發展文教基金會,民國 88 年 5 月。

同年指導教授建立 風雨災害實驗室/水海資料庫 ,我也開始 ASP 人生。當時,覺得有 Bill 真好,一個 Basic 用遍 DOS/Windows/Web/office ,那時的 VC 可還不能寫網頁呢~ 哼哼~

我最早寫的 asp 網頁可能是 水利 83 級留言簿

開始用啥寫 ASP 我已經不記得了,我記得後來是用系上買的 Visual Studio 的另一個成員 Visual InterDev:
https://msdn.microsoft.com/en-us/library/aa239608.aspx

Visual Studio 97(5.0) 開發環境並沒有整體用同一套,內含的 VB / FoxPro 還是有各自的 IDE 環境,新增成員還有 Visual J++ 跟 InterDev,當時的軟體標題卻是 Microsoft Developer Studio,而原先與 VC 整合好的 PowerStation 在 1997/03 卻被微軟拋棄賣給 Digital 了,對當時的我簡直是晴天霹靂~ Digital 配合 Visual Studio 分別推出 Digital Visual Fortran(DVF) 5.0/6.0…

Compaq Visual Fortran QuickWin

Compaq Visual Fortran QuickWin

 

Digital Visual Fortran 5.0

Digital Visual Fortran 5.0

來源:http://tlcheng.twbbs.org/TLCheng/Fortran/dll/make.htm

那時候管計算機室的藍元志學長就用 Visual FoxPro 5.0 寫計算機室的設備借用歸還資料庫系統。

我退伍的時候,Visual Studio 6.0(98) 就上市了,因此我在 VB5 約用一年就晉級到 VB6/InterDev6/DF6,這個年代工作量大,產出算滿多的,有興趣可到我個人的資料區去看,這邊就不一一拉畫面了。
http://tlcheng.twbbs.org/TLCheng/

1998/01,Digital 就被 Compaq 併購,推出 Compaq Visual Fortran(CVF) 6.1/6.5
2002/05,Compaq 被 HP 併購,推出 Visual Fortran 6.6 ,隨即將 Visual Fortran 賣給 Intel ,Intel 配合 Visual Studio.Net 推出 Intel Visual Fortran 7.0(IVF) …
https://software.intel.com/en-us/articles/migrating-from-compaq-visual-fortran

隨著對 VB6 越來越熟悉,終於開始寫第一篇純電腦技術的文章投稿,之前的都是水利為主阿~~~
Microsoft Visual Basic 之 Variant 變數應用」,微軟之友季訊,夏季 6 月號,第 42 ~ 49 頁,民國 90 年 6 月。

隨著社會變化,我開始朝向網頁化為主,第一個不是自己本業,為了救同學研究計畫被廠商放鴿子寫的網頁專案,透過遠端 Oracle 資料庫,整合 Surfer Automation 的 ASP 網頁:
http://tlcheng.twbbs.org/money/tide/Help/

而自己本業整合 ASP/VB6/CVF6 的則是:
曾文溪流域水庫整體防洪運轉展示決策系統建置」,中華民國資訊學會通訊,台灣,台北,第八卷,第一期,第 209 – 236 頁,民國 94 年 3 月。

在 2002/02/13 Visual Studio .NET (2002) 上市,我屬於應用程式開發人員,並沒有第一時間將 VB6 轉換到 VBNET ,只有試用而已。不過我對 Windows Help 一直保持高度熱誠,所以 VSNET 2002 我第一個正式專案卻是 HTMLHelp 2~

HTMLHelp 2

HTMLHelp 2

來源:http://tlcheng.twbbs.org/TLCheng/WinHelp/Net/help.htm

今天寫這篇忽然想到,VSNET 號稱純血 Unicode Windows ,而 VS98 則是 ANSI Windows ,當初 Office 2003 說自己是 Unicode Windows ,所以不支援 Win9x ,那為啥 .Net 2.0 以前可以支援 Win9x?該不會又是微軟的陰毛吧?

2004年我離開學校後,又看到 Mono ,天啊,看起來就是要一統開發語言,才正式的投入 Visual Studio 2003 裡。

我在 ASP 寫資料庫存取時,我習慣在 ADO 用 ODBC driver ,而 VS2002 只有 Oledb ,到了 VS2003 才開始支援 ODBC ,這也是我一開始不願踏入的原因。

剛離開學校,我接了一個資策會委外的 Web Service 元件開發工作,由於 VBNET 跟 VB6 不相容,剛好我先前讀了演算法對於加速有很多想法,所以我在 VS2003 重新開發:
http://tlcheng.twbbs.org/Model/Online/Thiessen/Thiessen.aspx

之後寫了一堆東西,包含 News 討論區 (網路論壇)、船艦氣象觀測與海象預報展示系統、等等,也寫了一篇文章投微軟:
在 ASP.NET中 動態共用原始碼」,微軟最有價值專家 (MVP) 技術專欄,台灣微軟MSDN網站,民國 93 年 11 月。

其中跟 Visual Studio 有關又比較特別的是:
南區水資源資料庫及決策支援系統 – 南區水資源分區及聯合模擬

這個是用 Intel Visual Fortran 開發的,當時因為 Visual Studio Net 開放性架構,有兩套 Fortran 支援 Fortran.Net,這兩套到 VS2015 還支援。

Lahey/Fujitsu Fortran: http://www.lahey.com/lf77/lf77.htm
Silverfrost FTN95: http://www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.aspx

但是 Intel Visual Fortran 雖然能嵌入在 Visual Studio ,卻只能呼叫 Intel 程式庫,不能呼叫 .Net framework (可呼叫 API),不過沒辦法,老闆不是我啊。

Intel Visual Fortran 7.0 for Visual Studio 2003

Intel Visual Fortran 7.0 for Visual Studio 2003

 

Intel Visual Fortran 7.0 QuickWin

Intel Visual Fortran 7.0 QuickWin

來源:http://tlcheng.twbbs.org/TLCheng/Fortran/XPTheme/index.htm

2005/03,微軟終止 Visual Basic 6.0 ,網路哀聲不斷,超過 200 位微軟 MVP 連署企圖搶救 VB6 ,微軟沒有接受。

終於,VS2005 在 2005/11/07 上市了。

VS2005 首先把 .Net 從產品名稱中拿掉,接著支援 32/64 bits 編譯,第一次微軟推出免費的 Express 版本,再分標準版、專業版,也第一次導入軟體專案管理,包含 Team Server、架構版、開發版、測試版,內建巨集功能讓開發環境自動化,內建 Windows Installer/ClickOnce 協助部署,外掛VSTO、VSTD等工具,簡直讓人眼花撩亂,然後加入虛擬裝置,可以開發 WinCE/SmartPhone 2002/2003 程式,正確來說,應該才是現在用的 Visual Studio 的奠基版。

伴隨 VS2005 的 .Net framework 2.0 也是最後一個支援 Win9x 的版本。

微軟也改善了 VB6 遷移 VBNET 工具,希望將 VB6 的大量使用者遷移到 VB2005,台灣也辦了不少研討會,包含:
2006 Visual Basic 2005 開發者大會專刊」,台灣微軟,台北,第 12 – 15 頁,民國 95 年 9 月。

在 VS2005 到 VS2008 上市那幾年,我主要在做:
海洋氣象數位服務專用平台之建置」,2008天氣分析與預報研討會,台灣,台北,第 493 – 500 頁,民國 97 年 9 月。

接著,VS2008 於 2007/11/19 上市。VS2008 主要考量未來大螢幕趨勢,推出新的視窗介面 WPF ,強大的 LINQ,因應 Vista 新的 Windows 資料安全架構進行加強與更新,而我為了前向相容到 Win2k ,到 VS2015 的年代,我還在用 .Net framework 2.0 ,後面的 VS2008/2010/2012/2013/2015 對我來說,只是更換編譯介面編譯 .Net framework 程式碼。

而 VS2008 起移除 Help Compiler 功能,整個微軟的開發環境除了舊版可編譯輔助說明外,完全不再提供線上手冊編譯環境,要編譯線上手冊就要使用協力廠商套件。

MSDN for Visual Studio 2008 SP1 也是最後一個單機方便好用的線上手冊,大大降低大家開發時,查詢線上手冊所需時間。

之後我到現在的公司上班,作品屬於公司財產,不適合隨意發布。

VS2010 於 2010/04/12 上市,這是最後一個支援 WinXP 版本,加入新的 F#、Silverlight 及 Windows Phone 支援,相對的,把 WinCE / SmartPhone 支援全部拿掉,而這個版本線上手冊大改,簡直難用到爆,爆雷是一個接一個,後來得靠 MVP 開發的 H3Viewer,而資料庫從這個版本起,內建支援 SQL Server Compact,我印象中從這個版本起,Visio 畫的 UML 之類的圖就不能匯入,改由 Visual Studio 自己的介面繪製。

VS2012 於 2012/09/12 上市,這個版本起,加入新的 Windows 8 /Phone 動態磚支援,免費的 Visual Studio Express 不再依照語言分,而是改功能分。而這個版本又拿掉 Windows Installer 支援,微軟記取 VS2010 線上手冊太爛的事進行更新,但是新版的線上手冊改善有限,網友們還是在呼喚 MSDN for Visual Studio 2008。

VS2013 於 2013/10/17 上市,VS2013 強大的增益集功能補充了部分缺憾,比如說 Windows Installer 的回歸,但也拿掉 SQL Server Compact 支援,看起來 SQLCE 似乎是被拋棄了。

VS2015 於 2015/07/20 上市,改善網友分享增益集可能產生的效能問題,但是我的還是會超慢啊~~~ 新版的預設程式碼編輯環境改掉 VS2013 以前白底為主,改用黑底為主。之後原先命名為 Express 分散的免費版,改為整合的 Community 免費版,包含完整的專業版功能。

Visual Studio Code (VSCode) 於 2016/04/14 上市,完全免費不具有編譯功能,純粹是編輯器,並提供跨平台編輯器,亦提供增益集,可供使用者外掛自訂功能。
 https://en.wikipedia.org/wiki/Visual_Studio_Code

從 Digital Visual Fortran 5.0 圖片我發現標題列還是叫 Microsoft Developer Studio ,其實跟 PowerStation 4.0 標題列一樣,我又上網 Google 了 VC++ 圖片:

Visual C++ 4.0

Visual C++ 4.0

來源:http://www.tarma.com/articles/1996sep.htm

Visual C++ 5.0

Visual C++ 5.0

來源:http://courses.cs.vt.edu/~cs1044/Visual5/build.html

標題都是 Microsoft Developer Studio 阿~~~ 而 Visual C++ 6.0 的標題則變為 Microsoft Visual C++ ,所以 Visual Studio 今年不應該算 20 歲吧?

若從 PWB 開始算,PWB 我一開始用就是 2.x 版,我不確定第一版本在哪版出現,我是知道從 Microsoft C 5.0 就有,但之前就不清楚,沒記錯的話是 1987 出 Microsoft C 5.0,1988 出 Microsoft C 5.1 ,從 PWB 開始算可能至少 30年。

另一種算法是從第一套 Visual 系列的 Visual Basic 1.0 開始算,1991/05 VB1.0 上市,所以可以算做 26 年。

還有一種算法是從 1993/02 的 Visual C++ 1.0 開始算,從 VC 開始,正式進入 Windows 版本的整合開發環境,包含 PowerStation 1.0 ,這樣就是算做 24 年。

再一種算法是從 Microsoft Developer Studio 這個標題算,那就是從 1995/12/11 的 Visual C++ 4.0 開始算,算做 22 年,從這個算法也是有道理的,因為 Visual Studio 那個無限大的 Logo 就是從這個版本開始的,上面的螢幕擷圖都可以看到。

Microsoft Developer Studio 4.0 安裝畫面

Microsoft Developer Studio 4.0 安裝畫面

來源:http://bytepointer.com/msvc/index.htm

最後可能是因為這個安裝畫面,所以 Visual Studio 從 1997 起算,算做 20 年:

Visual Studio 97 Install

Visual Studio 97 Install

來源:http://www.ironshay.com/?tag=/visual+studio

過去 30 年來,微軟開發工具一直陪伴我,將近我 2/3 的人生。Visual Studio 2017 ,歡迎你走入我未來的生命。

Categories: 電腦和網際網路, 嗜好 | 標籤: | 1 則迴響

[VSCode] 設定編輯下 Tab 鍵的空白字元數

VSCode 內建 Tab 為 4 個半形空白,與 Visual Studio 各版本一致。但我個人偏好 3 個空白。

官方文件說是設定 tabSize。

User and Workspace Settings https://code.visualstudio.com/Docs/customization/userandworkspace

設定方式如下圖。

設定 tabSize

設定 tabSize

但是以這種方式設定,在預設值下,第一個 Tab 是第 3 格,第二個 Tab 是第 4 格,第三個 Tab 是第 8 格,根本沒啥用。

事實上可以不管上面的官方文件,直接點選狀態列的 [空格]

選擇空格

選擇空格

選擇 [使用 Tab 進行縮排]

使用 Tab 進行縮排

使用 Tab 進行縮排

再選擇欲縮排的格數,我選擇 3 。

選擇欲縮排的格數

選擇欲縮排的格數

之後就是第一個 Tab 是第 3 格,第二個 Tab 是第 6 格,第三個 Tab 是第 9 格。

終於可以好好的一起玩耍了。

Categories: 工作點滴, 技術分享 | 標籤: | 1 則迴響

[RouterOS] 上傳流量爆頻寬

這個問題發生了一陣子了,就是使用 RouterOS 的路由器會由 RouterOS 爆上傳流量。

最早是發生在去年年底,是日本網路公司通知疑似遭受攻擊,已封鎖網路。

一般來說,都是以為電腦被攻擊,但是電腦檢查沒有問題,就不了了之。

慢慢的,一個個使用 RouterOS 路由器的案場接連出事, RouterOS 路由器在 2013/06 開始使用,起初沒想到是路由器問題,但是有部分環境是只有自動介面卡都會出事,而路由器換個 IP 就會正常,就鎖定是路由器問題。

由於去年年底才開始發生,所以誤認為 RouterOS 路由器漏洞,以:
RouterOS 漏洞
RouterOS bug

用 google 找半天,都找不到有用資訊,只好在公司架一台空機等著被轟。

今天終於等到狂轟猛炸,透過封包過濾是 DNS ,有了資訊就很好找,是「DNS遞迴查詢攻擊」,分別找到三個有用資訊:
為何你的ROS WAN口會有莫名的流量 https://ros.tw/wp/?p=2565
RouterOS 被大量流量攻擊 https://www.mobile01.com/topicdetail.php?f=110&t=4468348
DDoS Detection and Blocking http://wiki.mikrotik.com/wiki/DDoS_Detection_and_Blocking

最簡單的當然是從介面處理,所以依據第一個連結方式處理。

首先先看上傳爆流量,這個只有 RouterOS 路由器接 WAN ,後面沒任何設備。

上傳爆流量

上傳爆流量

大部分的環境是用 PPPoE 動態撥接,所以為避免路由器後面設備不能連線,先做 DHCP Server 的 DNS 設定。

選單 DHCP Server

選單 DHCP Server

台灣當然是 HiNet + Google 。

加入 DNS Server

加入 DNS Server

再由 左側選單 [IP] > [DNS] 把 [Allow Remote Requests] 勾勾拿掉。

移除勾選

移除勾選

一套用,馬上流量從 19.2Mbps 降到 390.7 kbps 。不過累積上傳量已經達到 645.4 GiB,想到我就是這垃圾流量的貢獻者,實在汗顏阿~

流量驟降

流量驟降

RouterOS 是個平價的工業級路由器,慣用 RB450G / RB750GR3 環境溫度都可以耐到 70 度,是耐操的好夥伴阿。

Categories: 工作點滴, 技術分享 | 標籤: | 1 則迴響

[WSE7] TeamViewer 下更新開始工具列釘選捷徑

TeamViewer (v11) 遠端桌面會基於 Win7 安全性原則下,限制一定的功能執行,例如下方開始工具列的釘選,可能在 TeamViewer 下被禁止移除釘選,或禁止新增釘選,但本機操作則無此限制,因此需要找個可以遠端作業的方案。

在公司的 Windows Standard Embedded 中,有放一隻程式透過 Windows Installer 安裝,為了方便,在初始化後,就把他釘選在開始工具列後,再做成影像檔。

但該軟體更新是透過直接覆蓋,當點選釘選的圖示執行時,就會觸發 Windows Installer 修復該程式,而安裝來源又是透過公司網路芳鄰安裝,導致來源不存在,因此每次都被 Windows Installer 修復功能拖很久。

我的解決步驟:

  1. 建立一個乾淨的捷徑,直接對執行檔滑鼠右鍵選建立捷徑,這樣就不會跟 Windows Installer 捷徑扯一起。
  2. 檔案總管開啟 %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar ,注意,User Pinned 是隱藏目錄,直接貼路徑到檔案總管網址列即可。
  3. 將步驟 1 的捷徑替換掉步驟 2 內原先的捷徑。

這樣在開始工具列上釘選的捷徑,就不是原先透過 Windows Installer 建立的捷徑,就不會再觸發 Windows Installer 了。

從這經驗來看,要是要讓安裝程式直接在釘選上建立捷徑,應該就是把捷徑塞到步驟 2 那個目錄即可了。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[Win10] 安裝 Windows Essentials 2012 v16.4.3528.0331

Windows Essentials 2012 裡面的 Windows Live Mail 可將信件直接存在目錄內,基本上沒容量上限,且使用信件原始格式存檔,對於 IT 人工檢查是不是惡意郵件、轉碼錯誤或是郵件軟體開發除錯幫助非常大,不像 Outlook 收信時就會轉碼成 Unicode ,以便全域搜尋,也導致 Outlook 若是預設轉碼錯誤,即使重設編碼也可能發生掉字。

今天終於有空把新 NB 裝 Live Mail 了,本來根本沒想到要寫這篇,但是下載時,發現 Live Mail 只支援到今天,就算當成追念文吧。

R.I.P.

Live Mail 支援終止

Live Mail 支援終止

直接從微軟下載的線上安裝版,在 Win10 沒辦法正常安裝,因此從網路上找 Live Mail 離線安裝版的網址:

繁中:http://g.live.com/1rewlive5-all/zh-TW/wlsetup-all.exe
英文:http://g.live.com/1rewlive5-all/en/wlsetup-all.exe
簡中:http://g.live.com/1rewlive5-all/zh-cn/wlsetup-all.exe

使用離線安裝檔直接安裝時,發生 vc9 runtime 衝突,所以我直接把 Win10 重新開機,開機後啥都沒執行,直接用滑鼠右鍵以系統管理員身分執行 wlsetup-all.exe 安裝,很順利就完成安裝。

開始工具列上的 Live Mail

開始工具列上的 Live Mail

由於 Win10 內建 OneDrive ,Messenger、Writer 不用安裝,所以只安裝剩下的 Movie Maker、影像中心、Windows Live Mail 。

打開 Live Mail 來看,已經是整合過的 16.4.3528.0331 版。

在 Win10 Ent x64 上執行

在 Win10 Ent x64 上執行

原則上我收信還是用 Outlook 收,只是用 Live Mail 處理亂碼信、惡意郵件、開發相容測試,並沒有要把 Live Mail 當成工作環境使用。

今天本來打算順便測 Windows 10 信箱 那個 App ,為了避免把我的信箱信收下來就砍掉,先故意把密碼設錯,找半天還是沒找到像 Outlook / Live Mail 裡面的 在伺服器上保留信件備份功能,只好先把帳號砍掉,下次再試了。

我在 Windows Live Mail 支援終止的這天,安裝 Live Mail ,微軟是用西雅圖時間算,所以應該安裝的時候算 2017/01/09 吧…

Categories: 電腦和網際網路, 工作點滴 | 標籤: | 7 則迴響

[Win10] 建立新版快速工具列的目錄鍵接

話說,先前介紹過的

[快速工具列] Windows 的目錄鍵接

中,我還滿愛用的,我會把我常用的免安裝軟體及捷徑建立好放在 Server 上,當有同事需要時,直接拷貝到同事電腦就可以了。其中,特別重要的就是

目錄鍵接 (Junction)

我只要建立一個共用的捷徑清單,任何鍵接到這個清單的都能依照我最新的變更改變,或是鍵接到網芳上的路徑,自動依照目錄結構展開,在上一篇 Classic Shell 翻譯成「跳躍清單」。

但是到了 Win10 後,格式有改變,原先的格式不被支援,只會顯示

Target.lnk / Desktop.ini

兩個檔案,讓我十分不習慣,於是,萬事問 Google … 得到這篇:

http://winaero.com/blog/symbolic-link-in-windows-10/

基本上就是改用命令列產生:



MKLINK [[/D] | [/H] | [/J]] Link Target
/D 建立目錄符號連結。預設是檔案符號連結。
/H 建立永久連結而不是符號連結。
/J 建立目錄連接。
Link 指定新符號連結名稱。
Target 指定新連結參照的路徑 (相對或絕對)。


打開命令列,建立本機免安裝的 目錄鍵接 :

建立 目錄鍵接

建立 目錄鍵接

隨後打算,建立 網路芳鄰的 目錄鍵接 ,但是在 Win10 被擋住,只能建立 網芳 的目錄符號連結

建立 網芳 的目錄符號連結

建立 網芳 的目錄符號連結

目錄符號連結比較麻煩,產生出來的捷徑很難被拷貝,拷貝的話通常代表拷貝實際的目錄,因此最後得在快速工具列的目錄執行 MKLINK 。

來看看效果吧。本機免安裝軟體跟捷徑展開如下圖:

展開目錄鍵接

展開目錄鍵接

網路芳鄰上的檔案及目錄結構如下圖:

展開 目錄符號連結

展開 目錄符號連結

由於建立網路磁碟有可能會被勒索病毒整體加密,我個人是反對使用網路磁碟功能存取檔案伺服器,奈何同仁愛使用,且屢勸不聽,我是推廣使用目錄鍵接方式加速存取,目錄鍵接對於工讀生來說,也有效果,例如會計組的工讀生可能可以接觸到會計組伺服器上的部分檔案,但是不能接觸到上層目錄結構及巡覽,透過目錄鍵接,就可以解決沒有上層目錄存取權限,要進入子目錄的窘況。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[Win10] 用 Classic Shell 取代『開始工具列』

先前我的 NB 上的 WebCam/觸控板 沒有 Win8 的 driver ,所以資訊部除了我還留在 Win81 外,其他人都升到 Win10 。

年初 NB 發生不幸,硬碟往生,用新的 NB ,當然只剩 Win10 了。

Win10 的開始工具列雖然比起 Win81 來說,已經改了一半回來,但是他的排版很佔空間,也不好尋找,所以我還是拿當時 Win8/Win81/Win2012/r2 下都有安裝的免費軟體:

Classic Shell:  http://www.classicshell.net/

我是使用4.3.0版,覺的 Classic Shell 超讚,就來看看螢幕畫面吧。

我很喜歡 Win7 以後在開始工具列提供的快速連結,如下圖,Excel 展開可以看到已釘選常用檔案及經常開啟檔案:

快速捷徑

快速捷徑

點所有程式,如同 Win7 可以使用群組樹狀目錄結構來瀏覽連結,例如 Office 2016 很討厭,直接在程式集下建立捷徑,弄得很亂,所以我可以透過自行建立 Microsoft Office 2016 群組來管理:

群組樹狀目錄結構

群組樹狀目錄結構

另外 Classic Shell 支援跳躍清單 (Junction list) ,如下圖,可以直接將 本機(我的電腦) 展開,再加上控制台、系統管理工具等常用功能,套句網路流行詞,超爽的er:

跳躍清單

跳躍清單

如果想體驗 Win10 的開始工具列,點選上圖最上方 『[開始]功能表 (Windows)』,就可以進入 Win10 的開始工具列,而且在 Classic Shell 已經整理過的群組樹狀目錄結構,在這也是正常瀏覽,例如前面圖中的 Microsoft Office 2016 群組,在 Win10 開始工具列展開如下圖:

快速切回 Win10

快速切回 Win10

我個人是覺得 Win10 的開始工具列會造成我工作速度的下降,加上 Classic Shell ,讓我能使用 Win7 優質的開始工具列,也能迅速使用 Win10 的開始工具列,推薦各位小夥伴們用看看~

 

 

 

Categories: 電腦和網際網路, 工作點滴 | 標籤: | 發表留言

[VSCode] 輕巧的程式碼編輯器

我一直在找一個類似 VBA 環境的 javascript 開發環境,最好是輕巧一點,大部分的環境都搞得很複雜,我只想簡單測試一個 function ,結果得搞到變成一個方案,並透過編譯或轉譯再由其他環境執行。

我自己有在公司的軟體中掛入 VBScript 支援功能,也就是直接呼叫 Script Control ,當然同一個引擎也可以跑 javascript ,理論上,自己寫個 WinForm 包 Script Control 就結束的,但是在編輯環境上會花很多時間,所以最好能找現成的。簡易型的我做成網頁跑:
http://tlcheng.twbbs.org/TLCheng/Basic/vbs/IDE/Runner.htm
支援 vbscript/javascript ,要用 IE 相容模式跑。

最近逛到 Code Runner 可以直接跑~
Code Runner: https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner

看了一下,是 Visual Studio Code(VSCode) 外掛套件~
Visual Studio Code: https://code.visualstudio.com/

說實在的,已經有 Visual Studio 2015 Ent. 下,覺得不需要再裝 VSCode ,VSCode 支援 Windows/iOS/Linux ,本來以為是跨 OS 才會想要玩的,但是實在很想測 Code Runner ,又看到 VSCode 有免安裝版,50MB 下載解壓縮就能執行,心動之下就抓下來玩了:
https://code.visualstudio.com/docs/?dv=winzip

執行以後,安裝了兩個擴充套件,Code Runner 及 mssql 。

第一次開啟

第一次開啟

Code Runner 說經過設定,可以讓你在 VSCode 下直接跑以下語言:
C, C++, Java, JavaScript, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, C# Script, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, 及自訂命令

貼一段過去寫好的 javascript,依據 Code Runner 網頁的範例跑,可以直接測試 javascript:

執行 javascript

執行 javascript

再貼一段過去寫好的 vbscript,測試一下,也可以正常跑:

執行 vbscript

執行 vbscript

javascript 看起來應該是 VSCode 本身就支援,vbscript 則自動呼叫 cscript 編譯執行,結果畫面:

回傳 vbscript 執行結果

回傳 vbscript 執行結果

VSCode 的特色就是超快,自從 VS2013 起,外掛套件一多,開啟速度就慢到不行,安裝 VS2015 時,只裝不到 10 個套件,也是慢到不行,開機後第一次執行大概要 3 分鐘才能進到 VS2015 ,所以忽然發現,VSCode 可以當作平常簡易開發 html / javascript / asp.net 原始碼的環境,因為免安裝,還可以丟到 Embedded OS 內跑。玩玩 Code Runner 忽然發現,還可以連 SQL Server ,想到 SSMS 也越來越慢,簡直是測試 T-SQL 利器。 (需安裝 mssql)

在 VSCode 開啟 .sql 的檔案,會自動載入 mssql 套件環境:

自動載入 mssql 套件環境

自動載入 mssql 套件環境

滑鼠右鍵選執行查詢:

執行查詢

執行查詢

第一次使用須建立連線:

建立連線

建立連線

輸入 server 資訊:

server

server

輸入資料庫:

資料庫

資料庫

選擇驗證方式並輸入驗證資訊:

驗證方式

驗證方式

完成建立連線:

完成建立連線

完成建立連線

第二次使用 (指重開 VSCode) 直接選擇已建立的連線:

選擇已建立的連線

選擇已建立的連線

直接就可以顯示 查詢結果。

查詢結果

查詢結果

VSCode 免安裝真的很方便,速度又快,只是要看原始碼的話,或是簡單開發,完全可以參考使用阿~~~

Categories: 電腦和網際網路, 工作點滴, 技術分享 | 標籤: | 發表留言

[VBA] Office 2013 x64 以後版本呼叫 Windows API 要加關鍵字 PtrSafe

工作上有一個很少用的工具 Excel 巨集,裡面放了一堆 API ,是以前寫的。

這兩天臨時要用到,用 Excel 開起來後,一片滿江紅,下面的圖檔是我處理完後加個測試行做出來的,檔案就跟第一行一樣,宣告區全是紅的。

Office 2013 VBA 版本

Office 2013 VBA 版本

從版權畫面可以看到,VBA 7.1 的大版本懸掛在那。

滿江紅是看不出來要改啥,所以上網查半天,詳細說明請參考 MSDN 線上手冊:

Delare 陳述式 https://msdn.microsoft.com/zh-tw/library/office/gg278581.aspx

搞定後才發現,重新輸入程式碼,換行時,VBA 程式碼自動檢查就會提醒你,在 Office x64 下,要加 PtrSafe :

自動提醒要加 PtrSafe

自動提醒要加 PtrSafe

可以比對 [錯誤] / [視窗] 兩行宣告,就只差在 PtrSafe ,錯誤那行沒有輸入 PtrSafe 就會跳錯。

所以也可以推知,舊版本的 VBA 在 x64 下,若有呼叫到 Windows API 都須修改宣告,否則根本不能跑,可能非微軟的協力廠商,例如 AutoCAD 也受此影響。

當然又回到那句老話,這樣看來,微軟十年前根本是騙大家的,VB6 要上到 x64 還是有很多解法,就看微軟願不願意而已,因為在 Office 中已經解決了阿~

微軟不再支援 VB6 的理由,又消滅了一個…

Categories: Office, 技術分享 | 標籤: | 發表留言

[Android] AirDroid 在 Android 6.0 看不到 外部SD卡 – Zenfone 3 ZE520KL

AirDroid 是一套 Android 上很有名的軟體,主要功能是把手機當成一個 Web ,透過 IE11/Chrome 連入後,上下傳檔案或是操作手機,我常常拿來編輯聯絡人、發簡訊 (我喜歡用鍵盤打)、抓照片及錄影。

在 Android 4.4 以後,開始對 Apps 限縮存取 外部 MicroSD 卡的權限,當然山不轉路轉,軟體自有解套,所以 Zenfone 3 一到手我仍然裝上這隻程式,並正確的存取外部SD卡。

Zenfone 3 剛到手的時候,手邊沒有準備 MicroSD 卡,把三年前買給電視盒的 32 GB Class 6 卡先插進去,後來看到一些文章提到,ZenFone 3 支援 4K 錄影,但需要高速卡,就另外買了一張讀取速度到 85 MB UHS-I 64 GB 記憶卡。

本來 32 GB 記憶卡用 AirDroid 滿正常的,但 64 GB 記憶卡在網頁上看到的 外部SD卡 是空白的,沒目錄、檔案,想說原先好像有設定到 MicroSD 卡的磁碟代碼,所以應該是 AirDroid 的設定問題,測了半天,終於搞定。請依以下步驟:

1. 從手機的設定叫出應用程式來。

選取 [應用程式]

選取 [應用程式]

選取 [AirDroid]

選取 [AirDroid]

2. 刪除 AirDroid 所有使用的記憶體,這會把 AirDroid 設定都刪除,沒錯,就是要刪除重設。

選取 [儲存空間]

選取 [儲存空間]

選取 [清除資料]

選取 [清除資料]

3. 開啟 AirDroid 就如同第一次使用,開到可以讓網頁連入。

第一次啟動 AirDroid

第一次啟動 AirDroid

4. 用網頁連入,這邊使用 Chrome ,點選到 外部SD卡 ,這時候會跳出一個對話框,提醒你要設定。

外部 SD 卡需要授權

外部 SD 卡需要授權

5. 點選 [檔案] [外部SD卡] [完成],注意上方選擇的是 MicroSD ,點選右下角的 [選取] 。

選取 [檔案]

選取 [檔案]

選取 [外部SD卡]

選取 [外部SD卡]

 

選取 [完成]

選取 [完成]

選取 [Micro SD]

選取 [Micro SD]

選取 [選取] 後的畫面

選取 [選取] 後的畫面

6. 可以發現 Chrome 可以正常存取 外部SD卡了。

正常存取 [外部SD卡]

正常存取 [外部SD卡]

其他:
若不想看到網頁跳出提醒畫面,可直接步驟 3 完作步驟 5 ,再用網頁瀏覽器連接,就可以直接到步驟 6 。
若步驟 6 看到的是空白沒任何檔案,請確定步驟 5 最後選取前是否沒任何檔案,若兩邊一致就沒問題,若有問題的話,回到步驟 1 重作。
另外如果只是隱藏的檔案或是 . 開頭的檔案或目錄名出不來,我還找不到解決方法,好像就是出不來。

Categories: 行動裝置, 技術分享 | 標籤: | 1 則迴響

[oledb] SQL Server Compact 沒有出現在 OLEDB 提供者清單中

話說,我有個現場設備拆回來維修,我打算把資料庫備份出來後,遷移到現場替代機上。

大部分情況,我會使用 Access ,但是這個現場資料庫用 SQL Server Express 2014 ,超過 255 欄,所以需要尋找替代方案。
首先我想起 SQL Server Compact Edition (SQL CE) ,因為幾年前在用 SQL Server Express 2008 R2 時,內建支援 Compact ,而且在 Visual Studio 2010 也可以用,也可以內建支援。

一測試才發現,大糗。

SQL Server 2012 / Visual Studio 2012 以後版本預設都沒支援。 Visual Studio 2010 使用 SQL CE 的說明文件:
https://msdn.microsoft.com/zh-tw/library/gg606540.aspx

而且最慘的是 SQL CE 沒出現在 oledb providers (提供者) 清單中,根本不知道怎樣玩下去。

這是 「SQL Server 2014 匯入和匯出資料 (64 位元)」 找不到 SQL CE 的畫面:

SQL Server 2014 匯入和匯出資料 (64 位元)

SQL Server 2014 匯入和匯出資料 (64 位元)

 

這是 Visual Studio 2015 IDE 找不到 SQL CE 的畫面:

Visual Studio 2015 IDE

Visual Studio 2015 IDE

這是開新的 udl 找不到 SQL CE 的畫面:

開新的 udl

開新的 udl

當然,這邊先說一下,為啥用 oledb 的原因,就是使用 oledb 不綁 .Net framework 版本。SQL CE 有 2005/3.0/3.5/4.0 不同版本,各版本還有出 Service Pack ,但是使用不同版本相對的 .Net framework 也要對應相對版本,2005 就對應到 .Net framework 2.0 ,所以還是採用 oledb 彈性較大。
引用 MSDN 相關說明:「除非您使用 OLEDB 資料提供者,否則需要 Microsoft.NET Framework 4 或更新版本才能安裝 SQL Server Compact 4.0。」
https://technet.microsoft.com/zh-tw/library/bb190958%28v=sql.110%29.aspx

首先,先用 .Net framework 內建的 OleDbEnumerator 列舉 oledb 的提供者,沒找到 SQL CE:
https://msdn.microsoft.com/zh-tw/library/system.data.oledb.oledbenumerator.aspx

OleDbEnumerator 列舉下拉式選單

OleDbEnumerator 列舉下拉式選單

註:圖中下拉式選單是用 OleDbEnumerator 傳回的 SOURCES_NAME – SOURCES_DESCRIPTION 格式顯示

由於找不到 SQL CE ,我在這個網站下載了 x86/x64 的工具來查看看:
http://www.sqledit.com/odbc/oledb-provlist.html

x86 的畫面

x86 的畫面

x86 的畫面

x64 的畫面

x64 的畫面

x64 的畫面

在 google 上翻找了兩天,最後是我以前在 2010 曾經存了一個 oledb.reg 在 SQL CE 3.5 SP2 目錄下,裡面有 OLE DB Provider ,從這關鍵字再回頭 google 。

先找到 Connect 上有人回報的問題,微軟簡單說明說,因為 SQL CE 在 oledb 支援不完整,所以後來沒列在 oledb 提供者清單上:
https://connect.microsoft.com/SQLServer/feedback/details/546133/sql-server-compact-edition-3-5-oledb-driver-not-listed

在找到相關討論,列出比較重要的兩篇:
http://coding.derkeiler.com/Archive/Delphi/borland.public.delphi.database.ado/2008-02/msg00080.html
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/cc6db680-1d33-4c9b-8b67-9334b3383904

在開發機測試一下,分別做了兩個註冊資訊檔案匯入:
oledbSqlCe35.reg for SQL CE 3.5 SP2


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{F49C559D-E9E5-467C-8C18-3326AAE4EBCC}\OLE DB Provider]
@="Microsoft SQL Server Compact OLE DB Provider 3.5"

oledbSqlCe40.reg for SQL CE 4.0 SP1


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{2006C53A-C915-41EA-BAA9-9EAB3A1FBF97}]
@="Microsoft.SQLSERVER.CE.OLEDB.4.0"

[HKEY_CLASSES_ROOT\CLSID\{2006C53A-C915-41EA-BAA9-9EAB3A1FBF97}\OLE DB Provider]
@="Microsoft SQL Server Compact OLE DB Provider 4.0"

為避免兩個版本混淆,建議 OLE DB Provider 下面字串明確列出版本,例如上面的 3.5 或是 4.0 。
另外 SQL CE 4.0 在原始預設註冊資訊為:

[HKEY_CLASSES_ROOT\CLSID\{2006C53A-C915-41EA-BAA9-9EAB3A1FBF97}]
@="Microsoft SQL Server Compact OLE DB Provider for Windows"

這邊建議依照我提供的修改,因為大部分軟體都會從這抓 oledb 的名稱,若是這邊不改,很多軟體連線字串不會組成 Microsoft.SQLSERVER.CE.OLEDB.4.0 ,就變成不能用。

在 x64 的電腦上,除了上面註冊資訊檔修改外,另外需要針對 x86 再修改,否則 x86 程式在 x64 作業系統上仍然會撈不到 oledb 提供者。

SQL CE 3.5


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{F49C559D-E9E5-467C-8C18-3326AAE4EBCC}\OLE DB Provider]
@="Microsoft SQL Server Compact OLE DB Provider 3.5"

SQL CE 4.0


Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{2006C53A-C915-41EA-BAA9-9EAB3A1FBF97}]
@="Microsoft.SQLSERVER.CE.OLEDB.4.0"

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{2006C53A-C915-41EA-BAA9-9EAB3A1FBF97}\OLE DB Provider]
@="Microsoft SQL Server Compact OLE DB Provider 4.0"

匯入完成後,就可以正確找到 oledb 並進行操作了:
這是 「SQL Server 2014 匯入和匯出資料 (32 位元)」 找到 SQL CE 的畫面:

SQL Server 2014 匯入和匯出資料 (32 位元)

SQL Server 2014 匯入和匯出資料 (32 位元)

這是 「SQL Server 2014 匯入和匯出資料 (64 位元)」 找到 SQL CE 的畫面:

SQL Server 2014 匯入和匯出資料 (64 位元)

SQL Server 2014 匯入和匯出資料 (64 位元)

這是 Visual Studio 2015 IDE 找到 SQL CE 並開啟載入的畫面:

Visual Studio 2015 IDE

Visual Studio 2015 IDE

這是開新的 udl 找到 SQL CE 的畫面:

開新的 udl

開新的 udl

最後回頭用下載的工具來測,也可以正常找到 SQL CE 了:
x86 的畫面

x86 的畫面

x86 的畫面

x64 的畫面

x64 的畫面

x64 的畫面

註:我在有安裝 SQL Server 2014 / Visual Studio 2015 @Win81 x64/Win2012r2 x64 下,已有 SQL CE 4.0 ,不確定是安裝 MSSQL / VS 自己加進來還是 Win81/2012r2 內建,因為在控制台新增移除程式清單上沒看到。

[2016/10/03 補充]

VS2015 的 SSDT 更新,把 「SQL Server 2016 匯入和匯出資料 (32 位元)」也掛進來了,測了一下也可以正常抓到 SQLCE35/SQLCE40 的 oledb 清單,不過繁中做一半,上半部介面繁中,下半部按鈕全部英文~

SQL Server 2016 匯入和匯出資料 (32 位元)

mssql_2016_importexport_32_new

SQL Server 2016 匯入和匯出資料 (32 位元)

 

 

Categories: 自用整理, 工作點滴, 技術分享 | 2 則迴響

[Windows] 在檔案總管滑鼠右鍵加入 命令提示字元

這篇沒啥好看的,網路上隨便找一大堆,我因為需要配合下篇文章,所以在我電腦上啟用這個功能。

我抓了免費工具可以列舉 oledb 提供者,但是這工具除了是 Console 模式的程式外,執行完畫面直接關閉,完全不知道列舉了那些,一整個冏。

而存放工具的目錄又臭又長,進到命令提示字元後,要 cd 半天,所以只好弄上去。

沒有命令提示字元不方便

沒有命令提示字元不方便

我自己習慣做成 cmd.reg 檔案,後面就可以省事,但是寫 readme.txt ,不如寫網誌,以後圖文並茂查起來方便,所以就有這篇。


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\CommandPrompt]
@="命令提示字元"

[HKEY_CLASSES_ROOT\Directory\shell\CommandPrompt\Command]
@="cmd.exe /k cd /d %1"

其中這行
@="命令提示字元"
也可以用
@="在此目錄開啟 命令提示字元(&C)"
也就是說這就是出現在檔案總管滑鼠右鍵的選單名稱,不過我覺得又臭又長,就看各人了。
cmd 用快速鍵 C 雖然不錯,但會跟選單中的 複製(&C) 衝突,所以最後我就省掉快速鍵了。

有命令提示字元較方便

有命令提示字元較方便

跟網路上大部分文件差異就是我多用了 /d ,這個只要在命令提示字元下打 cmd /? 就可以知道用法,我就不說明了,直接上圖,反正要學會直接看軟體附的說明,養成習慣後,就不用為了查說明到處 google 。

命令提示字元的參數

命令提示字元的參數

Categories: 自用整理, 工作點滴 | 標籤: | 發表留言

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: