最討厭那個黑乎乎的窗口

| 小衆軟件


有很多沒有圖形界面的程序,會使用 Windows 下的命令提示符界面,看起來…醜醜的,以及很礙事。

而 Windows 並沒有一個很方便的後臺運行方式,於是,利用一些技巧,比如系統服務來運行一些程序,就是一種非常優雅的使用方式了。

之前小衆軟件寫過的用來替代 Teamviewer,免費開源內網穿透工具 frp 教程。frp 可以讓你在不考慮公網 IP 的情況下, 隨時從外連接回家,使用 NAS、遠程桌面等服務,但 frp 會在桌面留下一個命令提示符。

怎麼辦?用下面這貨解決問題:

EasyService是一個只有 16KB 的小程序,它可以讓需要長時間運行的 Windows 程序,以系統服務的方式,無窗口後臺運行。典型的應用,比如命令行內網穿透 frp 工具、各種 Nodejs、Python 小工具。@Appinn

EasyService 教程

假設你已經看過frp 教程,併成功設置了服務器與客戶端。下面就用 EasyService 將 frp 的 Windows 客戶端窗口隱藏起來。

配置文件

  1. 下載解壓縮EasyService(19.8KB)

  2. 將 frp 客戶端放到 EasyService 文件夾

  3. 編輯svc.conf文件:

1
2
3
4
5
ServiceName: Frp Service
Worker: frpc.exe -c frpc.ini
WorkingDir: frp
OutFileDir: outfiles
WorkerEncoding: utf8

確保此時的 EasyService 文件夾有以下的幾個文件和文件夾:

  • frp 文件夾(包含配置文件)

  • svc.conf

  • svc.exe



測試配置文件

然後,在 EasyService 文件夾的地址欄,直接輸入cmd打開當前文件夾的命令提示符,輸入測試命令:

1
2
svc.exe check
scv.exe test-worker

如果能看到下面的提示,就證明測試成功,沒有問題了。



安裝系統服務

此時需要使用管理員權限的命令提示符(在開始菜單中搜索 cmd 然後右鍵以管理員身份運行)。切換至 EasyService 目錄(上圖爲例 C:\TOOLS\easy-service-master):

1
2
cd C:\TOOLS\easy-service-master
svc.exe install



啓動系統服務之後,frp 就已經開始運行了,即便用戶註銷也不會停止運行,且系統開機後、用戶登錄之前就會自動運行。在服務管理控制檯中可以查看已註冊的服務。

重啓、停止、刪除系統服務

只需要運行以下命令,即可:

  • svc stop 停止

  • svc start 開始

  • svc estart 重啓

  • svc remove 刪除

然後,就可以愉快的使用 frp 並且看不見那個煩人的窗口了。EasyService 在GitHub開源。

EasyService 原理

EasyService 實質是將自己(svc.exe)註冊爲一個系統服務,此服務啓動時,會讀取 svc.conf 中的配置,創建一個子進程運行 Worker 中指定的程序及命令行參數,之後,監視該子進程,如果發現子進程停止運行,會重新啓動一個子進程。而當此服務停止時,會向子進程的標準輸入中寫入數據 “exit” ,並等待子進程退出,如果等待時間超過 10 秒,則直接終止子進程。












爲何雲原生在吞噬世界?

來源:雲頭條長話短說,本文的目的是幫助你瞭解雲原生的功能及帶來的業務效益,並探討準備遷移到這種新型計算模式的
| 人工智能學家






老父親的需求

六隻腳是一款易用的運動軌跡、戶外旅行線路追蹤應用,俗稱GPS軌跡追蹤。支持離線地圖,並且可無偏移直接使用
| 小衆軟件





聯通帶你走進進博

上海聯通從安全保障、AR智慧觀展、5G高清直播到5G媒體直播,給予觀展者前所未有的體驗。
| 中國聯通微學堂




【熱點聚焦】如何提升網約車安全水平?

網約車安全一直是人們關注的焦點,也是交通運輸新業態安全發展的組成部分。一方面是日益增長的市場需求,一方面是對安全的擔憂,那麼,如何提升網約車安全水平,推動行業健康發展?
| 安防展覽網





最討厭那個黑乎乎的窗口

| 小衆軟件


有很多沒有圖形界面的程序,會使用 Windows 下的命令提示符界面,看起來…醜醜的,以及很礙事。

而 Windows 並沒有一個很方便的後臺運行方式,於是,利用一些技巧,比如系統服務來運行一些程序,就是一種非常優雅的使用方式了。

之前小衆軟件寫過的用來替代 Teamviewer,免費開源內網穿透工具 frp 教程。frp 可以讓你在不考慮公網 IP 的情況下, 隨時從外連接回家,使用 NAS、遠程桌面等服務,但 frp 會在桌面留下一個命令提示符。

怎麼辦?用下面這貨解決問題:

EasyService是一個只有 16KB 的小程序,它可以讓需要長時間運行的 Windows 程序,以系統服務的方式,無窗口後臺運行。典型的應用,比如命令行內網穿透 frp 工具、各種 Nodejs、Python 小工具。@Appinn

EasyService 教程

假設你已經看過frp 教程,併成功設置了服務器與客戶端。下面就用 EasyService 將 frp 的 Windows 客戶端窗口隱藏起來。

配置文件

  1. 下載解壓縮EasyService(19.8KB)

  2. 將 frp 客戶端放到 EasyService 文件夾

  3. 編輯svc.conf文件:

1
2
3
4
5
ServiceName: Frp Service
Worker: frpc.exe -c frpc.ini
WorkingDir: frp
OutFileDir: outfiles
WorkerEncoding: utf8

確保此時的 EasyService 文件夾有以下的幾個文件和文件夾:

  • frp 文件夾(包含配置文件)

  • svc.conf

  • svc.exe



測試配置文件

然後,在 EasyService 文件夾的地址欄,直接輸入cmd打開當前文件夾的命令提示符,輸入測試命令:

1
2
svc.exe check
scv.exe test-worker

如果能看到下面的提示,就證明測試成功,沒有問題了。



安裝系統服務

此時需要使用管理員權限的命令提示符(在開始菜單中搜索 cmd 然後右鍵以管理員身份運行)。切換至 EasyService 目錄(上圖爲例 C:\TOOLS\easy-service-master):

1
2
cd C:\TOOLS\easy-service-master
svc.exe install



啓動系統服務之後,frp 就已經開始運行了,即便用戶註銷也不會停止運行,且系統開機後、用戶登錄之前就會自動運行。在服務管理控制檯中可以查看已註冊的服務。

重啓、停止、刪除系統服務

只需要運行以下命令,即可:

  • svc stop 停止

  • svc start 開始

  • svc estart 重啓

  • svc remove 刪除

然後,就可以愉快的使用 frp 並且看不見那個煩人的窗口了。EasyService 在GitHub開源。

EasyService 原理

EasyService 實質是將自己(svc.exe)註冊爲一個系統服務,此服務啓動時,會讀取 svc.conf 中的配置,創建一個子進程運行 Worker 中指定的程序及命令行參數,之後,監視該子進程,如果發現子進程停止運行,會重新啓動一個子進程。而當此服務停止時,會向子進程的標準輸入中寫入數據 “exit” ,並等待子進程退出,如果等待時間超過 10 秒,則直接終止子進程。