[Web] 前端 JavaScript 開發與除錯


前幾天,我針對一個 VBScript for IE 升級到 JavaScript 的網頁加入新功能除錯,由於網頁很亂,所以我考慮用 Visual Studio Code 的 console.log 來除錯,但不知道是不是因為我都用可攜版 (免安裝版) ,我的 JavaScript Runner 跑起來不正常,無法用來除錯,所以我就考慮用網頁來除錯器。

首先先搜尋了一些 OnLine 的 JavaScript ,包含 w3school ,但都不是十分滿意,所以決定自己來寫一個簡單除錯器:

JavaScript 執行器:http://www.tlcheng.tk/Tools/Runner/Runner.htm

IE11 預設執行畫面

畫面預設分幾個區塊,用一個 HelloScript 程式碼作為預設功能展示,點選 [執行] 按鈕,會跑 eval(程式碼 + 執行指令) 送到 輸出,執行指令有點像 IDE 的即時運算視窗。

所以當點選 [執行] 按鈕時,會跑藍色線,依據執行指令 HelloScript 呼叫原始碼 HelloScript ,這也表示原始碼可以有一些無關的程式碼在那,這樣有助於將 .js 檔案內容直接複製進來測試。

在原始碼 HelloScript 使用了常見三個輸出,訊息盒 (alert)、綠線是前端網頁 (使用 divOutput)、紅線是輸出 (函數回傳),輸出結果如下。

訊息盒輸出
網頁及回傳輸出

當 JavaScript 發生錯誤時,會把錯誤碼、錯誤訊息、堆疊訊息送到 [輸出],例如故意在 [執行命令] 把函數名寫錯。

常用的 console.log 可正常輸出到瀏覽器開發工具的主控台。

IE11 console.log 測試
IE11 開發工具輸出到主控台
新的 Edge console.log 測試
新的 Edge 開發工具輸出到主控台
Chrome console.log 測試
Chrome 開發工具輸出到主控台

把 StrTools.js 內容全部貼到 [程式碼],測試瀏覽器的開發工具是否能正常除錯。

貼入 js 檔案內容進行測試
IE11 開發工具可針對貼入程式碼除錯
新 Edge 開發工具可針對貼入程式碼除錯
Chrome 開發工具可針對貼入程式碼除錯

完成了除錯器開發後,我當然找到我的問題,但這是一個很悲傷的故事。

new Date(1899, 12, 30); // 回傳 1900/01/30

一般直覺以為,上面的物件是 1899/12/30 ,但是 JavaScript 是 1900/01/30 ,因為 Month 引數是 0 ~ 11 ,不是 1 ~ 12 啊~~~ 我回翻我所有的原始碼發現,我在 StrTools.js 這個公用函數中,2018 以前的版本都有在 Month 處 加減 1,不知道何時忘了,這個事件必須記錄下來,以警惕自身。

微軟 JavaScript 的線上手冊

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

[Edge] 關閉 89 版新增快速啟動


這周 Edge 配合 Chrome 89 版一起升級,新的 89 版號稱

  1. 減少 Edge 啟動時間
  2. 減少 Edge CPU 及 RAM 的浪費

我家裡電腦基本上是不關機,利用 Win10 專業版的 IIS 放以前寫的網站,公司電腦則是每天下班時會關機。

所以當我 Edge 全關的時候,在家裡電腦會是這個樣子:

關閉 Edge 後一堆卡在電腦裡

關閉 Edge 後一堆卡在電腦裡

我個人很不習慣這樣。

現在很多網頁用 AJAX 或 WebSocket API 背景通訊,如果程式沒寫好,就會發生關掉瀏覽器時,背景還卡在通訊關不掉,我常常在 Facebook 網頁碰到。

所以我一直習慣每天睡前關閉瀏覽器後,會看工作管理員是否確認全部被關閉,這個習慣也延伸到 Outlook ,若是重啟 Outlook ,我一定會檢查工作管理員的 Outlook 是否完全被關閉,舊版的 hotmail 的外掛就常常會造成 Outlook 卡在記憶體裡面,如果 Outlook 沒有完全關閉,重啟是沒用的。

找了一下,預設設定變成下圖:

Edge v89 預設自動執行

Edge v89 預設自動執行

把啟動加速關閉,就可以關掉 Edge 時,完全關閉:

關閉啟動加速

關閉啟動加速

 

為了比較效果,我公司電腦特意沒動,反正每天關機都能確保記憶體正確被釋放,不用人工檢查。不過經過一周過去,我對於沒關的沒啥感覺,可能是現在電腦速度都太快,第一次啟動 Edge 所減少的時間可以忽略,所以不是人類能感受的。

所以我個人是偏好還是關掉好,為了快速啟動,耗個 2 ~ 300 MB 的記憶體不知道要幹嘛。

 

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

[Edge] Windows Update 後 IE 捷徑自動更新為 Edge


公司在 2012 年導入鼎新的 ERP ,當時的電子簽核 Easyflow 是使用 ActiveX 寫的,還綁在 IE (Internet Explorer) 上,公司打算完成上櫃後再更新 ERP ,避免會計流程變更影響上櫃重新審查。

IE 被各大公司拋棄是不爭的事實,也沒打算替他平反,平常同事都使用其他瀏覽器上網,但是上電子簽核,還是得用 IE ,因此 IT 幫同事設定電腦時,會在 Win10 下方的開始工具列釘選 IE ,並且把 Easyflow 的捷徑,從 IE 網址列拖到桌面,以便方便使用 IE 開啟電子簽核。

不知道是哪個 Windows Update 搞的鬼,二月有零星個案,三月有十幾個個案,都是開始工具列、桌面捷徑全部被改為 Edge 。

開啟桌面捷徑的內容,其連結已經被改變,所以不管怎樣操作,都會先開 IE 再自動轉 Edge ,很難搞。

比較簡單的做法:

用檔案總管開啟以下位置檔案:C:\Program Files\Internet Explorer\iexplore.exe

等到 IE 開啟後,重新釘選到開始工具列,並且連上公司電子簽核後,就可以重新使用 IE 了。

我另外調整了瀏覽器設定再繼續觀察。

Edge 與 IE 預設行為

Edge 與 IE 預設行為

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

[Office] Word 365/2016/2019 變更樣式集 (庫)


這篇跟前面這篇類似:

一點通 – 如何在 Word 2007 中變更樣式庫

你可以把樣式庫當成標準文件的範本,比如說做 ISO 文件、企業內部文件、計畫報告、學位論文通常會規範文件的版面、行距、字的大小,所以 Word 很早就引用樣式庫的架構來將文件標準化,我最早用的時候大概是 Word 6.0a ,跟網站的 css 也挺像的。

首先先準備好一個已經標準化的文件,比如說版面、內文、標題1、標題2、圖表格式或目錄樣式都已完成設定的檔案。

如果希望新的空白文件有預設的封面、目錄、章節,保留適當的說明在這個文件上,其他刪除,如果希望開起來純粹是空白文件,請將內容刪除。

新範本

範本用在建立一個新文件上,新文件通常版面相關設定會有規範,比如說紙張留白的設定、頁碼設定,如果有預留章節也屬於範本的一部分。

將前面完成的標準化文件另存範本。

另存新範本

另存新範本

上面在存範本時,可以建立子目錄,比如說依照部門建立目錄,或是不同用途建立目錄。

後續第一次要以此範本新增文件時,先選個人,若前一步驟有建目錄,再選目錄,就可以依照自定的範本建立新文件。

第一次新增自訂範本

第一次新增自訂範本

 

選擇自訂目錄的範本

選擇自訂目錄的範本

第一次新增過自訂範本後,Word 會自動快取建立捷徑,以後預設開新文件可以直接選。

快取的自訂範本

快取的自訂範本

以自訂範本建立的新文件,會自動帶入相關的樣式及預留的內容。

用自訂範本建立的新文件

用自訂範本建立的新文件

樣式集

樣式集在舊版的 Word 翻成樣式庫,我印象中舊版的 Word 套用樣式庫的時候,版面設定會生效,不過年代久遠,已經不記得了。目前的 Word 版本,套用不同樣式集時,版面設定不會變化,只有樣式會變化,因此若是要依據規定製作標準文件,最好從範本就正確選擇,樣式集比較用在版面相同的文件上,當然版面不相同也可以用樣式集,就看個人實際的需求。

前面準備好的標準文件在此選擇另存為新樣式集,如果需要預覽內容,樣式集需要保留一些文字。

另存為新樣式集

另存為新樣式集

 

存成自訂的檔名

存成自訂的檔名

需要用時,就從文件選擇該樣式集即可套用。

套用樣式

套用樣式

範本、樣式集主要是給標準文件或長文件使用,樣式集還有一種用途是草稿模式,例如論文要印出給教授審閱,可能需要有雙行行距,教授才能在空白處寫上意見,則可分為草稿版樣式集、正式版樣式集,或是有分年長者版,要特別大字,也可以分成年長者版、正式版,印出前選個樣式套用即可。

 

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

[Win10] Edge 在更新到 Win10 20H2 後使用 alt-tab 會同時呈現


我個人用 Windows 很多年了,老用戶就習慣使用熱鍵,我在切換視窗時,常常用 alt-tab。

例如下圖:

Alt-Tab 預覽視窗

Alt-Tab 預覽視窗

在 Win10 2004 (包含舊版的 OS) 之前,Edge 多頁籤會只有一個視窗,如果有特別要持續使用的網頁,可以拖出來變成獨立視窗,就可以在 Alt-Tab 單獨選擇。

但到了 Win10 20H2 以後,Edge 預設會如上,即使在同一視窗不同頁籤,也會跑出一堆視窗,這樣在工作時就不方便切換,例如在 Office 與 Edge 網頁查詢結果中切換。

好在微軟沒把功能寫死,可以關閉,不然真的想揍人了…

所有設定 > 系統 > 多工

切換 Edge 在 Alt-Tab 下的顯示模式

切換 Edge 在 Alt-Tab 下的顯示模式

將 Alt-Tab 設定 為 僅限開啟視窗 ,就可以恢復原來的模式了。

媽的,微軟真的常會沒事找事…

 

Categories: 工作點滴 | 標籤: | 1 則迴響

[MSSQL] ODBC Driver 的差異


話說,Web Server 上的 SQL Server 在 DELETE 命令的效能一直不彰,想到 SQL Server 2017 有好幾個 ODBC Driver 可以選,就先 google 搜尋瞧瞧。

SQL Server ODBC Driver

SQL Server ODBC Driver

從圖上可以看到,主要有 5 個可選擇的 ODBC Driver :

  1. ODBC Driver 13 for SQL Server
  2. ODBC Driver 17 for SQL Server
  3. SQL Server
  4. SQL Server Native Client 11.0
  5. SQL Server Native Client RDA 11.0

在這篇詢答中,討論了 4 種,是 1/3/4/5

Differences Between Drivers for ODBC Drivers: https://stackoverflow.com/questions/39440008/differences-between-drivers-for-odbc-drivers

主要是說:


ODBC Driver for SQL Server

適合用在各種語言與作業系統的通用驅動程式

SQL Server

是為了相容 SQL Server 2000 以前,可以用,但效能不好。

SQL Server Native Client

在 SQL Server 2016 的視窗環境下最好選擇

SQL Server Native Client RDA

相容 SQL Server Compact 3.5 ,但未來會被移除,最好不要使用。


在 SQL Server 2014 時,我使用 SQL Server Native Client 11.0 ,在 SQL Server 2017 時,我使用 ODBC Driver 17 for SQL Server ,該不會這就是我的效能瓶頸吧?

先把網頁服務停止,將驅動程式更換為 SQL Server Native Client 11.0 ,重啟服務,剛好碰到整點數百站點資料回傳,頓時發現,CPU Loading 更高,系統卡的更死。

由於碰上大量資料正在回傳,先擺一會讓他執行完,趁這個時機搜尋其他文章:

這幾篇是贊成使用 SQL Server Native Client 的:

How and When to Use MS SQL Server Native Client: https://www.mertech.com/blog/how-and-when-to-use-sql-server-native-client

SQL Server: Native client vs. ODBC? https://stackoverflow.com/questions/5343428/sql-server-native-client-vs-odbc

但是微軟官方的說法是建議使用 ODBC Driver for SQL Server :

SQL Server Native Client: https://docs.microsoft.com/zh-tw/sql/relational-databases/native-client/sql-server-native-client

Windows 上適用於 SQL Server 的 Microsoft ODBC 驅動程式: https://docs.microsoft.com/zh-tw/sql/connect/odbc/windows/features-of-the-microsoft-odbc-driver-for-sql-server-on-windows

我自己則是等資料回傳完後,再用 ODBC Driver 17 for SQL Server 跑,在整點回傳時,效能看起來是比前一小時好。

當然具體要詳細測試才知道,但就初步來看,我的系統跑 ODBC Driver 17 for SQL Server 比跑 SQL Server Native Client 11.0 要好。

 

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

[cmd] 從 Nas 上更新 system32 目錄檔案


先前開發螢幕保護程式完成後,在 Nas 分享檔案後,由 IT 直接到使用者電腦從 Nas 上複製下來安裝,當時想的是為螢幕保護程式花時間弄個安裝程式有點划不來,而且我越來越偏好拷貝就能用,不太希望透過安裝方式散布。

先前開發的:[VB] 螢幕保護程式支援多螢幕

這次有新公告發布後,發現有個小 bug ,導致撈不到新公告,更新完螢幕保護程式後,剩下的就是如何散佈到使用者電腦去,由於先前已經設定好了,只要能將檔案覆蓋到 C:\Windows\system32 下,一切都好說,但是 Win8 以後強制開啟 UAC ,系統目錄是保護狀態,只好想辦法繞。

最後建了一個捷徑,內容為:

C:\Windows\System32\cmd.exe /K copy \\[Nas上的路徑]\*ScreenSaver.scr C:\Windows\system32

並在捷徑上設定系統管理員身分執行,扔到 Nas 上,請同仁去執行。

在 Nas 上的捷徑
在 Nas 上的捷徑

我個人偏好讓使用者知道發生了啥事,所以我在 cmd 下用 /K 來保留訊息,我不太喜歡靜默安裝。

完成複製
完成複製

使用者看到完成複製後,再手動關閉 命令提示字元 視窗即可。

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

[Firewall] Sophos 防火牆預設會擋 Office 365 下載與更新


防火牆通常比較嚴謹,很多應用被擋掉也是正常的,因為防火牆本身不知道公司政策,自然有可能東擋西擋。

多數公司都導入 Office 365 ,所以到防火牆官方網站查一下,就可以直接下載例外規則,啟用例外規則後,就能正常使用了。

Sophos XG Firewall: Office 365 web exceptions

Office 365 的例外規則匯入後,就有五頁半的例外規則要啟用,還得慢慢勾。 之後測試下載 Office 365 跟更新 Office 365 後結案。  

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

[推薦] img 轉 iso


話說,微軟從 Win8 以後,內建 iso 掛載為虛擬光碟,但是很瞎的,微軟網站上很多情況提供的都是 img 格式。

例如說,前面介紹過如何下載 Office 安裝光碟就是 img 格式:

[Office] 註冊零售版的 Office 2019

所以就需要一些工具將 img 轉換為 iso ,供 Windows 直接掛載。

我個人是偏好用免安裝的,例如這套 AnyBurn 5.1:

http://www.anyburn.com/download.php

注意下方小字:

Other download: AnyBurn Portable Version: …

這個是免安裝版,解開後,依照作業系統位元版本選擇執行,選擇 [轉換鏡像檔案格式] ,之後就可以把 img 刪除,讓 Windows 掛載 iso 進行安裝了。

轉換 img 為 iso
轉換 img 為 iso
Categories: 工作點滴 | 標籤: | 發表留言

[VB] 螢幕保護程式支援多螢幕


上篇:

[VB] 開發螢幕保護程式

我在開發時,因為使用 15″ LED 的 NB ,也就是單螢幕,所以最近開始在公司電腦安裝後,就有人反應螢幕保護程式只有一個螢幕有,其他螢幕只有底色。

對不起喔,我只是個單螢幕的使用者…

需求來了就得更新,由於預覽模式只有單螢幕,所以要把實際執行跟預覽再切開。

預覽螢幕保護程式
預覽螢幕保護程式

前篇說過,我的開發環境是 .Net framework 4.0 ,所以直接用 .Net 的物件。

 Dim ibs, ubs As Integer
 Dim arrScreens() As Screen = Screen.AllScreens
 ubs = UBound(arrScreens)
 [略]
 Select Case .CommandLineFlag
 [略]
 Case CommandLineOptions.Start
     Dim arrMains(ubs) As frmMain
     For ibs = 0 To ubs
         arrMains(ibs) = New frmMain
         With arrMains(ibs)
             .Show()
             .Left = arrScreens(ibs).Bounds.Left
             .Top = arrScreens(ibs).Bounds.Top
             .WindowState = FormWindowState.Maximized
         End With
     Next
     Application.Run(arrMains(0))
 [略]

用 Screen.AllScreens 取得所有螢幕,在每一個螢幕上丟上螢幕保護的畫面,由於每個畫面座標不同,所以至少左上角要在新螢幕裡,然後在最大化。

剛好我先前輪播圖片的時候,是呼叫統一的 PlayNext ,所以多螢幕化的時候,每個螢幕呼叫 PlayNext 都會將圖片播放下一張,可以讓每個螢幕都播放不同照片,也完成了多螢幕的支援。

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

[RAID] Intel RSTe 自動重建


先前的 Server 多半用的是內建的 RAID ,雖然效能比較差,但是勝在便宜、方便。

公司有一台財務部的合併報表伺服器,大概每季才用一次,只有兩三個人用,所以當初規劃的時候,是用很經濟的 1U Server 搭配 Windows Server 2012r2 Foundation ,再買 SQL Server 2017 Standard,說實在的,要不是軟體商堅持,我看系統使用需求量,其實我想用 W7E + SQL Server Express 來跑,硬碟用的小,CPU 用的小,每季用量小,幹嘛買 Server 。

更舊的 Server 使用主機板內建的 RAID 通常是 LSI MegaRaid ,但 LSI MegaRaid 被併購了,所以這台是使用內建 Intel Raid 。

當初這台買來,因為已經初始化過,所以我這邊只有建立帳號後,就交給財務部跟軟體商用,平常資訊部維運不碰這台,避免責任無法釐清。

昨天資訊部同仁發現這台硬碟亮紅燈,就連線進去看,才注意到這台沒有相關工具軟體可以看 RAID 狀況。重開機過幾次,在 BIOS 畫面顯示 RAID 損壞,就到 Server 官方網站找工具軟體。

工具軟體是 Intel RSTe (Rapid Storage Technology enterprise) ,Server 網站提供的是 5.x 版。裝起來看,顯示硬碟離線。

所以我決定打客服保固 (我習慣 Server 都會加到五年保固) ,打客服前當然就是得先查序號阿,跟同事兩個人趴在機房地上看半天,還把 Server 從機櫃抽出來,都找不到序號貼紙,另一個當初接機的同事進來後,終於在面板處找到一個小凸起,抽出來一看,是序號卡…

把 Server 推回機櫃開機,準備看著畫面跟客服回報,一開機 BIOS 畫面變了,RAID 從損壞改變為重建 (ReBuild)。

Server 開完機後,打開 Intel RSTe ,顯示 自動重建 (0%)… ,然後開始跑 % ,有點慢,估計要 3 小時,看樣子客服電話不用打了。

隔天到公司檢查 Server 狀態,已經重建完畢,正常上線,有可能是接觸不良導致硬碟離線。

順便到 Intel 網站更新 RSTe ,沒想到新版改名為 Intel VROC (Virtual RAID on CPU) ,查了一下,從 6.0 開始改名,新版主要是針對 SSD / M2 這類做 RAID 最佳化,並需要硬體金鑰,不確定是不是支援,反正裝看看,不支援再裝舊版。

滿順利的,可正常跑,也能顯示 RAID 狀態。

Intel VROC 6.2
Intel VROC 6.2

並且會自動更新驅動程式:

Intel C600+/C220+ SATA RAID Conteoller
Intel C600+/C220+ SATA RAID Conteoller

需要的話可以到 Intel 網站搜尋 VROC :

再依據時間由新到舊,尋找相容最新版的驅動程式。

注意,不管是 Intel RST / RSTe / VROC ,都需要點選發行說明,裡面有適用的晶片,Intel 自動更新程式不會管快速儲存技術的 Driver 更新,只能自己手動更新。

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

[Hyper-V] 使用內建的網卡來做 Loopback


習慣是一種很可怕的東西。

我從 Windows 2003 的 Virtual Server 開始用 Microsoft Loopback 網卡後,到了 Win8/10 的 Hyper-V 還是習慣用 Microsoft Loopback 網卡。

當然,到了 Win10 是因為 Visual Studio Emulator For Android 只支援實體網卡,沒辦法用 Hyper-V 來模擬,所以我也忘了初衷,習慣在 Hyper-V 就是用 Microsoft Loopback 網卡。如前一篇:

[Hyper-V] 重設 Win10 2004 的 Loopback 網卡

Visual Studio 2019 新版已經移除 Emulator For Android ,直接用 Google 提供的 Android 模擬器,所以 Hyper-V 如果我只跑 WinXP/7 之類的,實際上並不需要使用 Microsoft Loopback 網卡。

昨天忽然想起這件事,決定把 Hyper-V 改設為標準用法。

1. 首先在 [虛擬交換器管理員] 建立一張內部網卡。

建立內部網卡
建立內部網卡

2. 我把他取名為 [Hyper-V Loopback] 。

Hyper-V Loopback
Hyper-V Loopback

3. 將虛擬機的網卡指向這張 [Hyper-V Loopback] 網卡。

將虛擬網卡指定給虛擬機
將虛擬網卡指定給虛擬機

4. 把實體網卡共用給這張 [Hyper-V Loopback] 網卡。

共用 WiFi
共用 WiFi

5. 啟動虛擬機測試網路是否能正常。

網路測通
網路測通

這邊再重申,Hyper-V 可以直接走實體網卡取得實體 IP ,但這種做法必須網路要通,由實體網路的 DHCP Server 分配 IP,走 Loopback 是在 Host 形成內部網路,由 Host 分配 IP ,所以這個方法主要是給 NB 用,這樣不管實體網路是連接公司、家裡、手機的 WiFi,都不影響網路,虛擬機可以設定固定 IP 給遠端桌面也很容易從 NB 連接。

這次換成 Hyper-V Loopback 也是要測試,看看到時 Win10 半年更新會不會又把我的 Hyper-V 網路環境搞掛。

先前 Microsoft Loopback 網卡速率是 1.2 Gbps ,Hyper-V Loopback 網卡是 10 Gbps ,我本來以為在 WinXP 會顯示 10 Gbps ,沒想到顯示的是 1.4 Gbps ,這個速率有點奇怪,有機會看看其他 OS 是不是也是這個速率。

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

[Hyper-V] 重設 Win10 2004 的 Loopback 網卡


我習慣用 Microsoft Loopback 網卡給 Hyper-V 裡面的 Guest 用。例如先前的文章:

[Hyper-V] 在 Visual Studio Emulator For Android 我的虛擬網路設定

但每次 Win10 的半年版本更新,總會把我 Hyper-V 網路搞掛。八月初被強上 Win10 2004 後,直到九月下旬,因為有隻舊版的 VB6 程式要維護,要使用 Hyper-V 開 VM ,才發現我的 Hyper-V 的網路架構又掛了。

重設的步驟大概如下。

1. 打開 [Hyper-V 管理員]

2. 將所有用到 Microsoft Loopback 網卡的虛擬機,逐一設定網卡為 [未連線] 或其他虛擬網卡,讓 Microsoft Loopback 虛擬網卡不被參照。

3. 刪除舊的 Microsoft Loopback 虛擬網卡。

4. 在 [Hyper-V 管理員] 停用服務。

5. 從裝置管理員刪除舊的 Loopback 網卡,重新加入 Lookback 網卡。

a. 由於 Hyper-V 會把網卡改名,所以可能需要用 [網路連線] 確認正確名稱。

網路連線設定
網路連線設定

b. [網路連線] 可能會因為被 Win10 鎖定而無法刪除網卡,可透過 [裝置管理員] 刪除。

查到的是 3 號網卡
查到的是 3 號網卡

c. 再從 [裝置管理員] [新增傳統硬體]

新增傳統硬體
新增傳統硬體

d. 選取 Microsoft Loopback 網卡

選取 Loopback 網卡
選取 Loopback 網卡

6. 在 [Hyper-V 管理員] 啟動服務。

7. 將 Microsoft Loopback 設為虛擬外部網卡。

8. 將虛擬機的網卡重新設為 Loopback 虛擬網卡。

9. 將無線網路共用給 Loopback 虛擬網卡。

共用網路給虛擬網卡
共用網路給虛擬網卡

再從 [Hyper-V 管理員] 裡面啟用虛擬機,就可以透過 虛擬 Loopback 網卡 > NB WiFi 網卡 連接到網際網路,在沒外部網路的時候,虛擬機跟 NB 的區域網路也能互通。

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

[VB] 開發螢幕保護程式


月初,老闆在主管會議說,他有一天抽問了三位同事,公司的企業文化那12個字,沒人答得出來。所以老闆要資訊部想辦法讓同仁每天都看得到,每天都被提醒,而且新訊息能迅速被傳達。

一般企業都是從入口網來處理,但老闆不要放入口網,老闆希望在電腦桌面就能看到。

回到辦公室測試 Win10 ,Win10 有動態桌面、登入畫面、螢幕保護程式可以試,登入畫面不支援網路芳鄰路徑,動態桌面、螢幕保護程式都支援,再請同事在 Win7/8x 測試,均可支援。

由於很多人桌面放了一堆捷徑,若使用動態桌面,文字可能會被圖示壓住,上市櫃公司在資訊安全基本要求要設定螢幕保護程式,所以就回報使用螢幕保護程式解決此需求。

PC 比較簡單,基本上隨時都能連上公司檔案伺服器,但是公司有一半以上是 NB ,人都在外面跑,所以變得要寫一個螢幕保護程式來處理。由於不用考慮 Win2k/Win95 ,所以我選擇用 .Net framework 4.0 來開發,這樣 Win 10/8x 可以直接拷貝。

為了方便起見,我直接設定死執行的邏輯:

  1. 每 15 秒換一張圖片
  2. 由本機 %USERPROFILE%\Pictures\[軟體名稱] 載入圖片,由最新圖片往舊圖片撥放,若無圖片,維持黑畫面。
  3. 每次啟動時,撥第二張圖片時,會自動檢查 專用網址產生的 檔案清單。
  4. 比對檔案清單,有新檔下載,移除檔案刪除。
  5. 重新撥放,並持續輪播。

所以有新公告就會第一時間先撥放,然後依序撥放舊的圖片。

參考微軟網址:

https://docs.microsoft.com/zh-tw/troubleshoot/windows/win32/screen-saver-command-line

https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms686421(v=vs.85)

序號參數說明
1(無參數)顯示設定對話盒
2/c顯示設定對話盒
3/p <hWnd>在螢幕保護程式設定對話盒的預覽視窗顯示
4/s執行螢幕保護程式
螢幕保護程式的 command line 參數

/c

一開始我在開發測試時,怎樣都無法顯示對話盒,後來透過工作管理員觀察,Win10 的命令列參數根本不是 /c ,而是 /c:nnnnn ,如下圖:

設定畫面
設定畫面

考慮與舊版相容,我在判斷時使用:

Select Case Left(args(0).ToLower, 2)

來判讀。

/p

我在 Windows 預設是 125% (120 DPI) 字型顯示畫面,因此在 VS2019 的 WinForm 預設也變成 125% ,若預設使用 125% ,當透過 Windows API 取得螢幕保護程式設定對話盒時,也要乘上 1.25 才會正確。

Dim rectPreview As RECT

' 取得預覽視窗
rectPreview = GetClientRect(hWndParent)
' 視窗放大 125%
With rectPreview
    .right = 1.25 * .right
    .bottom = 1.25 * .bottom
End With

無參數

無參數我懶得處理,所以我的無參數不會進入 顯示設定對話盒,而是執行螢幕保護程式,若有需要,以後再改,理論上應該不會有人特別直接執行螢幕保護程式。

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

特殊寶可夢的進化


去年十月,同事邀請我開始玩寶可夢,理由是公司的道場怎能被別人(隔壁)佔據。

就這樣,我開始玩手游。

之前玩寶可夢就是瞎玩,玩久了也想開圖鑑,所以開這篇來記錄特殊寶可夢的進化方式,會逐步收集,不會一次到位。

伊布

改名進化法

改名進化法每個使用者只能用一次,如果只是想開圖鑑,就這麼一次也無所謂。

在進化前,把伊布改名為下表的單字,再點選進化,就會進化成目標伊布,進化後名字可刪除,就會自動中文化變成對應的伊布。

改名進化後屬性
Sparky雷伊布
Rainer水伊布
Pyro火伊布
Tamao (需步行)月亮伊布
Sakura (需步行)太陽伊布超能力
Rea冰伊布
Linnea葉伊布
伊布改名進化法
正常進化法
進化後進化方式
雷伊布隨機進化
水伊布隨機進化
火伊布隨機進化
月亮伊布帶著伊布步行10公里並獲得2顆糖果,夜間啟動 伊布 進化
太陽伊布帶著伊布步行10公里並獲得2顆糖果,白天啟動 伊布 進化
冰伊布在補給站範圍內使用 冰寒誘餌模組 ,啟動 伊布 進化
葉伊布在補給站範圍內使用 藥草誘餌模組 ,啟動 伊布 進化
伊布正常進化法

磁鐵誘餌模組

進化後進化方式
自爆磁怪在補給站範圍內使用 磁鐵誘餌模組 ,啟動 三合一磁怪 進化
大朝北鼻在補給站範圍內使用 磁鐵誘餌模組 ,啟動 朝北鼻 進化
磁鐵誘餌模組的進化

Categories: 未分類 | 3 則迴響

[Win10] 釘選在開始工具列的圖示異常


Windows 7 以後我就常碰上這類問題,這篇是 Adobe Acrobat Reader DC,我比較常碰上的是 Skype。

圖示異常
圖示異常

大部分的問題是軟體更新,導致重新整理時,沒有正常抓到原先的執行檔,少數情況是 Win10 大版本更新,自動重新安裝軟體造成。

解決方式很簡單,讓他不要出現在開始工具列就可以了。

  1. 解除釘選設定
  2. 關閉所有該軟體,直到圖示不再出現。
軟體全部關閉
軟體全部關閉

重新開啟軟體再釘選即可。

圖示已恢復
圖示已恢復

如果介意順序,再自己拖動到要的位置即可。

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

Win10 Update 找回大版本更新可能造成檔案遺失


常常在論壇看到,Win10 自動 Windows Update 後,桌面檔案遺失了,或是使用者的檔案遺失。

先前 Win10 2004 聽說有很多問題,每周我都選延 7 天,6 月底嫌麻煩,一次選擇延 35 天。

8 月初在沒有準備的情況下,忽然被通知已經完成更新,需要重新開機。當天事多,選擇延後到隔天早上上班時間重新開機。

早上來就開始更新,因為是傳統 SATA 硬碟,非 SSD ,所以更新了 4 小時才完成更新。

大版本更新可能是為了恢復 Windows 10 預設狀態,很多軟體資訊可能會受損,必須重新或修復安裝,我碰上 Office 365、MS SQL Server Developer 需要重新安裝。

另外我也碰上桌面檔案消失了。

我自己習慣把工作檔案都放在 D 槽,桌面上是少量的暫存檔,掉了也沒關係,不過我很好奇檔案到哪了,還滿好找的:

Windows.old
Windows.old

原來會產生 C:\Windows.old 來存放資料。

所以桌面檔案就到

C:\Windows.old\使用者\[UserId]\Desktop

舊可以找到,其他可能相關被大版本更新的 Windows Update ,應該也可以在這邊找到,因為沒遺失其他內容,我就沒仔細翻了。

Categories: 工作點滴, 技術分享, 更新與回報 | 標籤: | 發表留言

[SMB] Win10 Pro 的網路芳鄰跨網域設定


大概管 Server 的習慣很好,新電腦的 Win10 網路芳鄰直接就完成設定,用 NB 測試可以連到新電腦後,就扔一邊了。

在公司要存取新電腦檔案,透過 VPN 連回家後,網路芳鄰連不到新電腦,但是 Web 可以,就想起應該是 Win10 防火牆預設問題。

先前在下面這篇有提過,我的網路設備 VPN 與預設網段不能相同:

[Bug] Sapido BR261c 錯誤 VPN 設定將干擾部分安全連線

新電腦的網段在 192.168.x.0/24 下。

我的 VPN 網段在 192.168.y.0/24 下。

先前在 Win8 有發現 Windows 內建防火牆預設會把網路芳鄰關在 Class C 內:

[Win8.1] 網路芳鄰跨網段的設定

Win10 的網路芳鄰預設也是一樣,限定在本機子網路內,如下圖:

Win10 網路芳鄰防火牆預設設定
Win10 網路芳鄰防火牆預設設定

一般家用或小企業只用一個 Class C 的,在這預設值下都可正常用,但我的 VPN 就要走另一個 Class C ,所以我改成下面這張圖後就可以通了:

讓 192.168.*.* 都可以連線
讓 192.168.*.* 都可以連線

所以我在 192.168.*.* 下都可以通,當然反正在防火牆後面,要設定成「任何 IP 位址」也可以。

網路芳鄰相關通訊協定的防火牆都要改,細節請參考前篇:

[Win8.1] 網路芳鄰跨網段的設定

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

Outlook 2019 設定信箱


前篇 Office 安裝好就開始設定 Outlook 了。

  1. 首先設定我的 HiNet 信箱。輸入信箱後,我習慣勾選「我要手動設定我的帳號」
輸入 HiNet 信箱
輸入 HiNet 信箱

2. 選擇 POP

選擇 POP3
選擇 POP3

3. 輸入 HiNet 信箱資訊,在 HiNet 內輸入 msa.hinet.net ,若會在國外寄信,要用 msr.hinet.net 。

Outlook 預設會開啟新的信箱,我要使用我原先的個人資料夾 (pst) ,所以勾選了既存檔案,這部分非必要。

輸入信箱資訊
輸入信箱資訊

4. 完成信箱設定。

完成信箱設定
完成信箱設定

我連續新增其他信箱並不能正常出現,所以我建議若要新增其他信箱,特別是 IMAP / Exchange 這種需要同步的,最好關閉 Outlook 重新開啟再設定。

gMail 3. 我的 gMail 使用 POP3 勾信,在上面步驟 2 選完 POP 後,gMail 只讓你輸入密碼:

gMail 直接輸入密碼
gMail 直接輸入密碼

一般信箱 3. 通常輸入下列資訊。

一般信箱設定
一般信箱設定

如果是微軟信箱,在步驟 2 直接勾選 Exchange ,反而比較好設定。

如果要變更收件信箱,可以參考前面這篇:

[Office] Outlook 365/2016/2019 變更預設收件匣

Categories: Office | 標籤: | 1 則迴響

在全新的電腦安裝 Office 2019


在前篇:新電腦 i7八核{北海軍神}GTX1660-6G獨顯電玩機(i7-9700/16G/1T/480G_SSD/GTX1660-6G)

可以看到,我是空機安裝官方版本的 Win10 2004 ,絕對沒有任何 OEM 廠商有內建 Office 試用版 …

剛安裝好 Win10 ,我就忙著備份資料,之後準備安裝 Office 時,忽然看到動態磚上有 Office 圖示,可見是微軟帶進去的。

如果要安裝零售版,請務必先移除動態磚上的 Office ,這個在 [控制台] > [程式盒功能] 是找不到的,必須從 [所有設定] > [應用程式] 來移除。

之後就比較單純,參考先前這篇:[Office] 註冊零售版的 Office 2019

https://account.microsoft.com/services/ 找到 Office 2019 點選安裝,我習慣下載光碟手動安裝 x64 版本,安裝完成後,隨便開啟一套軟體,例如 Excel ,把上面網址內的產品金鑰貼進去即可。

Office 2019 啟用
Office 2019 啟用

Categories: Office | 標籤: | 1 則迴響

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

<span>%d</span> 位部落客按了讚: