Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows操作系统,开着DS应用重启电脑后无法上网的问题说明 #109

Closed
greper opened this issue Sep 12, 2021 · 16 comments · Fixed by #377
Closed

Windows操作系统,开着DS应用重启电脑后无法上网的问题说明 #109

greper opened this issue Sep 12, 2021 · 16 comments · Fixed by #377
Assignees
Labels
Bug Something isn't working 重要提示(用户必看) 用户必看
Milestone

Comments

@greper
Copy link
Contributor

greper commented Sep 12, 2021

应用开启后会自动修改系统代理设置,正常退出会自动关闭系统代理
当应用意外关闭时,可能会因为没有将系统代理恢复,从而导致完全无法上网。

对于此问题有如下几种解决方案可供选择:
1、重新打开应用即可(右键应用托盘图标可完全退出,将会正常关闭系统代理设置)
2、如果应用被卸载了,此时需要手动恢复系统代理设置
3、你也可以设置ds为开机自启

目前由于Electron无法监听windows的关机事件,所以暂时没有什么好办法能够解决此问题,我会持续跟踪electron的相关更新。

@greper greper pinned this issue Sep 12, 2021
@greper greper changed the title 重启电脑后无法上网的问题说明 开着应用重启电脑后无法上网的问题说明 Sep 12, 2021
@SmartElec
Copy link

SmartElec commented Sep 25, 2021

环境:Win10 21H1

方法1 开关机脚本

在系统开关机脚本目录下需要用户权限,简单一点就是在当前用户目录下新建bat脚本。如 %USERPROFILE%
系统默认开关机脚本目录

C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown
C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup

在用户目录(%USERPROFILE%)新建文件 colse_proxy.bat

"C:\Program Files\DevSidecar\dev-sidecar\resources\extra\sysproxy.exe" set 1

打开组策略 gpedit.msc->计算机管理->Windows设置->脚本(启动/关机)

添加脚本,名称填写批处理的全路径.
脚本bat内容(直接关闭代理设置)

"C:\Program Files\DevSidecar\dev-sidecar\resources\extra\sysproxy.exe" set 1

方法2 任务计划

任务计划程序->创建基本任务->触发器->计算机启动时(或者是登陆时),最后查看属性对话框;
可以修改延迟多长时间启动,以及以最高权限运行脚本。

脚本bat内容(检测程序是否运行,没有运行就关闭代理)

@echo off

set logfile="C:\\batlog.txt"

echo %date:~0,10%_%time:~0,2%%time:~3,2%%time:~6,2% >> %logfile%

tasklist | find "dev-sidecar" /i

if "%errorlevel%" == "1" (
	echo "close sysproxy" >> %logfile%
	"C:\Program Files\DevSidecar\dev-sidecar\resources\extra\sysproxy.exe" set 1
)else echo "do nothing"  >> %logfile%


echo.>> %logfile%

发现开关机脚本不怎么好用,选择自己适合的方法吧

@SmartElec
Copy link

环境:Win10 21H1

方法1 开关机脚本

在系统开关机脚本目录下需要用户权限,简单一点就是在当前用户目录下新建bat脚本。如 %USERPROFILE%
系统默认开关机脚本目录

C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown
C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup

在用户目录(%USERPROFILE%)新建文件 colse_proxy.bat

"C:\Program Files\DevSidecar\dev-sidecar\resources\extra\sysproxy.exe" set 1

打开组策略 gpedit.msc->计算机管理->Windows设置->脚本(启动/关机)

添加脚本,名称填写批处理的全路径.
脚本内容(直接关闭代理设置)

"C:\Program Files\DevSidecar\dev-sidecar\resources\extra\sysproxy.exe" set 1

方法2 任务计划

任务计划程序->创建基本任务->触发器->计算机启动时(或者是登陆时),最后查看属性对话框;
可以修改延迟多长时间启动,以及以最高权限运行脚本。

脚本内容(检测程序是否运行,没有运行就关闭代理)

@echo off

tasklist | find "dev-sidecar" /i
if "%errorlevel%"=="1" (
	echo "close sysproxy"
	"C:\Program Files\DevSidecar\dev-sidecar\resources\extra\sysproxy.exe" set 1
)else(
	echo "do nothing"
)

发现开关机脚本不怎么好用,选择自己适合的方法吧

反复重启测试还好,过了几个小时开机发现还是没关闭代理,不知道为什么,下次把执行过程输出到日志看一下

@zqr95518
Copy link

这种直接开机以后把软件打开,再关闭退出,网络就好了吧

@zsk66
Copy link

zsk66 commented Oct 31, 2021

我都是用360网络恢复。。

@zsk66
Copy link

zsk66 commented Oct 31, 2021

亲测 360网络恢复好使,但是每次360开机就要自启还是很烦

@doyuodo
Copy link

doyuodo commented May 16, 2023

win11可以用吗?

@greper greper unpinned this issue Jan 5, 2024
@wangliang181230 wangliang181230 changed the title 开着应用重启电脑后无法上网的问题说明 Windows操作系统,开着DS应用重启电脑后无法上网的问题说明 Apr 8, 2024
@AquaHarp
Copy link

AquaHarp commented Apr 28, 2024

我的办法是用任务计划程序直接修改注册表,开机时不管之前有没有设置代理都直接取消Internet选项中的代理设置
image
add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f

@starknt
Copy link
Contributor

starknt commented Oct 17, 2024

根据 https://github.com/paymoapp/electron-shutdown-handler 提供的方法应该可以解决这个问题, 或许我可以开一个 PR

@wangliang181230
Copy link
Contributor

麻烦你开一个PR吧。

@wangliang181230 wangliang181230 added the Bug Something isn't working label Oct 17, 2024
@starknt
Copy link
Contributor

starknt commented Oct 17, 2024

PR 遇到了一些问题,我正在尝试解决 😅

@starknt
Copy link
Contributor

starknt commented Oct 18, 2024

cc @wangliang181230
image
日志里正确打印了,但是代理没有正确的关闭,你有什么头绪?

@wangliang181230
Copy link
Contributor

wangliang181230 commented Oct 19, 2024

ds是借助第三方的 proxy.exe 来设置系统代理的。可能就是这个导致的。关机过程中无法启动这个程序。

@wangliang181230
Copy link
Contributor

想办法用nodejs直接设置Windows系统代理。

@starknt
Copy link
Contributor

starknt commented Oct 19, 2024

看起来是调用 sysproxy 失败了
image

@starknt
Copy link
Contributor

starknt commented Oct 19, 2024

我发现在管理员模式下启动应用能正常关闭代理

@starknt
Copy link
Contributor

starknt commented Oct 19, 2024

如果没有意外的话今天应该能完成这个PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working 重要提示(用户必看) 用户必看
Projects
None yet
8 participants