여기에 세부 사항 :
유선으로 모뎀에 연결된 라우터에 무선으로 연결된 Win 10 랩톱에서 두 가지 이유로 인해 인터넷 연결이 불안정합니다.
이유 1, Win 10의 결함이 아닌 것 : 내 모뎀은 종종 고장 나서 (모뎀 자체, ISP 또는 무엇이든 IDK), 이로 인해 다시 시작됩니다. 이 경우 랩톱의 인터넷 (분명히)도 꺼지지 만 모뎀이 다시 켜질 때 다시 연결되지 않습니다. 그렇게하는 유일한 방법은 네트워크 연결 창에서 무선 어댑터를 비활성화 한 다음 활성화하는 것입니다.
이유 2, 뭔가 입니다 승리 (10)의 잘못 : 내 노트북은 때때로 Wi-Fi 네트워크에서 쫓겨됩니다. 이것은 내 NIC 또는 라우터와 같은 Win 10 이외의 다른 원인으로 인해 발생할 수 있습니다. 나를 괴롭히는 것은 Win 10이 예정되어 있어도 네트워크에 자동으로 다시 연결되지 않을 때입니다. Wi-Fi 메뉴에서 직접 "연결"버튼을 클릭하면 정상적으로 작동합니다.
시나리오 중 하나가 발생할 때마다 감지하는 * .bat 파일을 만든 다음 문제를 해결하기로 결정했습니다. 인터넷에 대한 약간의 조사를 통해 다음 스크립트를 작성했습니다.
@echo off
:LOOP
ping 8.8.8.8
IF ERRORLEVEL 1 goto RESTART
IF ERRORLEVEL 0 goto LOOP
:RESTART
netsh interface set interface "<wireless adapter>" disabled
netsh interface set interface "<wireless adapter>" enabled
netsh wlan connect name="<ssid>" interface="<wireless adapter>"
timeout /t 15
goto LOOP
이것은 훌륭하게 작동하지만 (관리자 권한으로 실행될 때) 이제 문제는 프로세스가 실행되는 동안 cmd 창이 열려 있지 않도록 (화면 및 작업 표시 줄에) 원하지 않는다는 것입니다 . 대신 트레이에서 실행되기를 원하므로 필요한 경우 작업 관리자로 이동하지 않고도 쉽게 종료 할 수 있습니다. 작업 스케줄러에서 스크립트를 시작할 때 최소화되도록 예약 할 수 있다는 것을 알고 있지만 작업 표시 줄에서 창을 숨기지 않을까요?
TL; DR :
* .bat 파일을 트레이에서 실행하거나 시계별로 쉽게 마우스 오른쪽 단추로 클릭하고 중지 / 종료 할 수 있도록하려면 어떻게해야합니까? 실행 파일을 컴파일하는 것이 이것을 달성하는 유일한 방법입니까?
나는 이것이 간단한 .bat
파일을 통해 수행 될 수 있다고 믿지 않기 때문에 이것은 AutoHotKey에 대한 작업처럼 보입니다 .
AutoHotkey (AHK)는 사용자가 반복적 인 작업을 자동화 할 수 있도록하는 Windows 용 무료 오픈 소스 매크로 생성 및 자동화 소프트웨어입니다. 그것은 시간이 지남에 따라 본격적인 스크립팅 언어로 진화 한 키보드 단축키 (또는 핫키라고도 함)를 제공하는 것을 목표로 한 스크립팅 언어에 의해 구동됩니다.
2014 년의이 포럼 게시물에 따르면 다음 과 유사한 스크립트를 사용하여 창 가시성을 전환 할 수 있습니다.
#NoTrayIcon
#Persistent
global hBatFile
/* Setup Tray icon and add item that will handle
* double click events
*/
Menu Tray, Icon
Menu Tray, Icon, C:\windows\system32\cmd.exe
Menu Tray, Add, Show / Hide Pingu, TrayClick
Menu Tray, Add, Close Pingu, CloseItem
Menu Tray, Default, Show / Hide Pingu
;// Run program or batch file hidden
DetectHiddenWindows On
Run pingu.bat,, Hide, PID
WinWait ahk_pid %PID%
hBatFile := WinExist()
DetectHiddenWindows Off
return
TrayClick:
OnTrayClick()
return
;// Show / hide program or batch file on double click
OnTrayClick() {
if DllCall("IsWindowVisible", "Ptr", hBatFile) {
WinHide ahk_id %hBatFile%
} else {
WinShow ahk_id %hBatFile%
WinActivate ahk_id %hBatFile%
}
}
CloseItem() {
DetectHiddenWindows On
WinWait ahk_class ConsoleWindowClass
Process, Close, cmd.exe
DetectHiddenWindows Off
ExitApp
}
이 스크립트는 AutoHotKey 1.1.24.00 (2016 년 5 월)에서 테스트되었습니다.
이 경우 :
스크립트를 다음과 같이 저장하고 tray.ahk
( .ahk
스크립트 확장에 주의 ) 두 번 클릭하여 실행하십시오 (AutoHotKey를 설치했다고 가정).
스크립트는 최소화 된 배치 파일을 시작하고 기본 AHK 스크립트 아이콘을 트레이의 소형 콘솔 창 아이콘으로 바꿉니다.
콘솔 창 가시성은 트레이 아이콘 또는 추가 된 트레이 메뉴 항목 (선택 메뉴 하단에 굵게 표시됨)을 두 번 클릭하여 토글 할 수 있습니다.
Close
아래에 추가 된 메뉴 항목을 사용 하여 배치 파일과 명령 창을 모두 닫을 수 있습니다 Show / Hide
( Exit
콘솔 창이 아닌 스크립트 만 닫음).
또한
Run pingu.bat,, Hide, PID
분명히 pingu.bat
자신의 배치 파일 이름으로 바꿔야합니다. 이 줄은 AHK 스크립트가 동일한 디렉토리에 나타나 pingu.bat
거나 pingu.bat
전역 적으로 액세스 할 수 있다고 가정합니다 (즉, 시스템 경로 또는 사용자 PATH 변수의 폴더에 추가됨). 그렇지 않으면 pingu.bat
실행 파일의 전체 경로 로 바꾸고 싶을 것입니다 (공백을 확인하십시오!).
주의 사항
이 스크립트는 대부분 창 가시성에 대한 인터페이스 역할을합니다. 이것이 의미하는 바는 Exit
트레이 아이콘 을 통해 배치 파일이 아닌 AHK 스크립트 만 종료한다는 것입니다.
간단한 해결책은 추가 된 Close
메뉴 항목 을 사용 하여 스크립트를 종료하고 중지하는 것 cmd.exe
입니다. 또는 다음을 수행 할 수 있습니다.
콘솔 창을 표시하고 Ctrl+ C(또는 빨간색 'X'로 콘솔 창을 닫음)를 사용하여 일괄 처리를 종료합니다.
Exit
AHK 스크립트를 중지하려면 트레이 아이콘에서 선택하십시오.
언급했듯이 그들은 별도의 프로세스입니다.
참고 : 숨겨진 창이있는 고아 콘솔 프로그램은 AHK 스크립트가 Exit
먼저 종료 된 경우 다시 직접 액세스 할 수 없습니다. 하지만 작업 관리자를 사용하여 관련 cmd.exe
프로세스 를 닫을 수 있습니다 .
Close
하나가있는 경우 서면으로 메뉴 항목은 잘 작동 cmd.exe
과정. 그러나 둘 이상의 cmd.exe
프로세스가 실행중인 경우 스크립트로 시작한 배치 파일이 제대로 닫히지 않을 수 있습니다 (다른 항목이 닫힐 수 있음). 대신 프로세스 ID (PID)로 마감을 조사 할 수 있습니다. 즉, 위의 동일한 표시 / 닫기 / 종료 프로세스를 사용할 수도 있습니다.
스크립트 노트
Menu Tray, Icon, C:\windows\system32\cmd.exe
관련 포함 아이콘 파일이있는 컴파일 된 실행 파일의 위치를 나타냅니다. 이를 포함 된 아이콘이있는 실행 파일에 대한 참조 또는 .ico
아이콘 파일에 대한 직접 참조로 대체 할 수 있어야합니다.
Menu Tray, Icon, C:\Path\To\Icons\icon.ico
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다