V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
uiosun
V2EX  ›  程序员

浏览器的网站如何关闭电脑?或者发起关机请求? Windows10 系统

  •  
  •   uiosun · 2022-11-17 18:13:57 +08:00 · 3822 次点击
    这是一个创建于 766 天前的主题,其中的信息可能已经有所发展或是发生改变。

    遇到个神奇的问题:

    我司目前依托 Win10 系统 + 浏览器的定制化机器,搞了一些业务设备,离谱的是:这个机器没有关机按钮(有强制关机的电源键)

    业务人员干脆就拔电源,导致现在有机器开始故障了——引导丢失。

    于是问我们:能不能加个关机的按钮——在网站上,用 JavaScript……

    查了一下 Google 和 StackOverflow ,没啥方便快捷的方法。

    请问神通广大的朋友们,有没有什么想法?

    29 条回复    2022-11-19 14:45:59 +08:00
    cjpjxjx
        1
    cjpjxjx  
       2022-11-17 18:16:34 +08:00 via iPhone
    shutdown /s /t 0

    写成批处理放桌面上
    Eiden
        2
    Eiden  
       2022-11-17 18:16:46 +08:00
    桌面写个小软件配合, 浏览器发指令, 小软件执行 shutdown -s -t 00
    singerll
        3
    singerll  
       2022-11-17 18:20:04 +08:00
    谁做的定制化,把他交过了擦屁股啊。
    ic2y
        4
    ic2y  
       2022-11-17 18:34:49 +08:00
    用 python 的 Flask 做个简单的 http 接口 ,执行关机操作。。

    直接用 js 调用 127.0.0.1 上暴露的这个接口
    ysc3839
        5
    ysc3839  
       2022-11-17 18:57:46 +08:00
    要不然本地开个 http 服务,网页请求后关机。要不然用 WebView 套一层,然后 JavaScript 暴露关机接口。
    kokutou
        6
    kokutou  
       2022-11-17 19:02:26 +08:00
    本地开服务,然后调用,只能这样吧。
    但是这服务同时也是个漏洞啊,要配各种安全措施。。。
    H97794
        7
    H97794  
       2022-11-17 19:08:29 +08:00
    看 BIOS 支持按一下电源键关机不
    eason1874
        8
    eason1874  
       2022-11-17 19:26:30 +08:00
    常见方法就是 python 起个 HTTP 服务,提供接口给浏览器请求,为了防呆防重放要有确认步骤
    monkey110
        9
    monkey110  
       2022-11-17 19:26:49 +08:00
    http://www.airytec.com/en/switch-off/get.aspx

    在用挺好,在床上用手机浏览器关电脑 ,当然也可以用电脑浏览器关机。

    https://imgur.com/5hQhLuC
    tuwulin365
        10
    tuwulin365  
       2022-11-17 19:29:04 +08:00
    电源键设置成按一下关机
    dcsuibian
        11
    dcsuibian  
       2022-11-17 19:36:08 +08:00 via Android   ❤️ 1
    纯靠 JavaScript 肯定不可能,如果做得到的话就是很大的安全漏洞了。
    如果用户打开一个网页电脑就被接管了,那还得了。
    luzemin
        12
    luzemin  
       2022-11-17 20:52:49 +08:00   ❤️ 5
    网站点击“关机”按钮,弹出全屏幕黑色遮罩,视觉上关机。
    ylls
        13
    ylls  
       2022-11-17 20:54:37 +08:00
    @luzemin 让我想起了那个摸鱼网站 模拟电脑升级那个
    herozzm
        14
    herozzm  
       2022-11-17 21:27:37 +08:00
    网页调用后台程序关机啊,看路由器后台
    程序关机,什么 python 、go 、c 、java 都能实现
    kingjpa
        15
    kingjpa  
       2022-11-17 22:06:06 +08:00
    无论用啥语言,都是电脑装一个服务,暴漏 http 或 websocket ,然后浏览器里访问本地 url ,服务执行对于动作
    Osk
        16
    Osk  
       2022-11-17 23:04:07 +08:00
    如上面所说的, 随便你用哪种语言实现一个 http 服务器, 然后 js 访问 localhost 来请求接口, 后端服务器收到请求执行原生关机命令.

    需要注意的是, chrome 的安全策略可能会阻止你访问 localhost, 得注意规避.
    lambdaq
        17
    lambdaq  
       2022-11-17 23:10:05 +08:00
    桌面创建一个快捷方式的事情,为啥要用浏览器来做??

    桌面点右键 -> 新建 -> 快捷方式 -> 输入一楼那一串指令 -> 起名为 关机

    搞定。
    shiyuu
        18
    shiyuu  
       2022-11-18 08:58:23 +08:00
    系统的电源管理选项不是可以设置,按电源时的操作吗?设置成关机就行。按一下就开机 按一下就正常关机
    montaro2017
        19
    montaro2017  
       2022-11-18 09:07:10 +08:00
    淘宝搜远程开关机
    wangtian2020
        20
    wangtian2020  
       2022-11-18 09:09:29 +08:00
    把网页做进 electron 中,electron 你想干嘛都行
    crazytudou
        21
    crazytudou  
       2022-11-18 09:25:20 +08:00
    正常电脑电源键是开机键不也是关机键吗?按一下开机,开机状态按一下就是关机。
    做个 exe 小工具,在注册表里注册后,可以通过网址打开这个 exe 程序。搜索:网页调用本地程序,很多的
    RRyo
        22
    RRyo  
       2022-11-18 10:01:27 +08:00
    简单 你添加一个协议 比如就 cuscmd:// 然后写个 shutdown 脚本打包成 exe 配置 exe 和 cuscmd 协议绑定 就可以了
    dudubaba
        23
    dudubaba  
       2022-11-18 10:11:52 +08:00
    可以实现,加个关机按钮,点击时弹窗 “抱歉,关机失败,请拔电源线强制关机!”
    huangqihong
        24
    huangqihong  
       2022-11-18 15:20:14 +08:00
    @Osk 如果访问 127.0.0.1 呢,应该没有安全策略吧
    pytth
        25
    pytth  
       2022-11-18 21:41:24 +08:00 via iPhone
    python 执行批处理 shutdown -s -t 00
    Osk
        26
    Osk  
       2022-11-19 08:28:31 +08:00
    @huangqihong 会, 需要升级到 https 才可以
    Osk
        27
    Osk  
       2022-11-19 08:49:20 +08:00
    对了,楼上提到的自定义 uri 这个方法很好. 也许可以试试直接传 shutdown /s /t 0 不传 %1 了.

    参考:
    https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa767914(v=vs.85)?redirectedfrom=MSDN

    这里有一个完整的项目做参考:
    https://github.com/RossWang/Aria2-Integration
    laqow
        28
    laqow  
       2022-11-19 10:52:17 +08:00
    反正只是浏览器系统是不是设置影子系统引导区只读挂载比较好?电源随便关都无所谓
    Lacy
        29
    Lacy  
       2022-11-19 14:45:59 +08:00
    电源键单按或者双击不能关机吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2856 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:47 · PVG 20:47 · LAX 04:47 · JFK 07:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.