上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

能不能控制电脑USB供电开关

[复制链接]
  • TA的每日心情
    开心
    14 小时前
  • 签到天数: 117 天

    [LV.6]常住居民II

    2

    主题

    24

    回帖

    99

    积分

    初级工程师

    积分
    99

    喜迎中秋

    发表于 2024-4-30 10:09:55 | 显示全部楼层 | 阅读模式
    悬赏1油猫币未解决

    能不能控制电脑USB供电开关?

  • TA的每日心情

    2024-5-10 14:44
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    4

    主题

    70

    回帖

    63

    积分

    初级工程师

    积分
    63

    油中3周年挑战者 lv1

    发表于 2024-4-30 11:50:20 | 显示全部楼层
    不能,想什么呢!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    296

    主题

    3979

    回帖

    3877

    积分

    管理员

    积分
    3877

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-4-30 14:45:01 | 显示全部楼层
    你不会是在说用油猴吧
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    开心
    14 小时前
  • 签到天数: 117 天

    [LV.6]常住居民II

    2

    主题

    24

    回帖

    99

    积分

    初级工程师

    积分
    99

    喜迎中秋

    发表于 2024-4-30 15:20:15 | 显示全部楼层
    王一之 发表于 2024-4-30 14:45
    你不会是在说用油猴吧

    哥哥,爱开玩笑
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    296

    主题

    3979

    回帖

    3877

    积分

    管理员

    积分
    3877

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-4-30 15:21:08 | 显示全部楼层

    油猴是做不到,没那个权限

    不过应该有其它的可以做到,这就是知识盲区了
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 08:38
  • 签到天数: 607 天

    [LV.9]以坛为家II

    44

    主题

    186

    回帖

    718

    积分

    荣誉开发者

    积分
    718

    荣誉开发者油中2周年生态建设者

    发表于 2024-5-2 19:29:56 | 显示全部楼层

    本帖最后由 tfsn20 于 2024-5-2 19:31 编辑

    试试WebUSB API,不过这些都需要一次用户手动点击。
    以下代码可以连接小米手机(设备管理器里面查看设备id:USB\VID_2717&PID_FF88&REV_0223&MI_02,根据VID(vendorId)和PID,确定设备的具体型号和功能需要查询相应的数据库或官方文档。)

    navigator.usb
      .requestDevice({ filters: [{ vendorId: 2717 }] })
      .then((device) => {
        console.log(device.productName);
        console.log(device.manufacturerName);
      })
      .catch((error) => {
        console.error(error);
      });
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    16

    回帖

    10

    积分

    荣誉开发者

    积分
    10

    荣誉开发者油中3周年油中2周年

    发表于 2024-5-6 01:31:12 | 显示全部楼层
    本帖最后由 s0919756 于 2024-5-6 01:33 编辑

    // ==UserScript==
    // @name         簡易USB設備操作腳本
    // @namespace    simple-usb-device-operation-script
    // @version      1
    // @description  用於與USB設備進行簡單的交互操作。
    // @author       腳本貓特色腳本前台USB控制~
    // @match        *://*/*
    // @grant        none
    // ==/UserScript==

    // 設置一個標誌來檢查是否已經請求過USB設備
    let usbDeviceRequested = false;
      // 標記已經請求過USB設備
      usbDeviceRequested = true;

      // 當腳本加載時,自動彈出請求USB設備的對話框
      navigator.usb.requestDevice({ filters: [] }) // filters: [] 表示不過濾任何設備
        .then(device => {
          // 這裡可以添加您想要對USB設備進行的操作
          console.log('USB設備已連接:', device);
        })
        .catch(error => {
          // 如果用戶拒絕訪問或發生其他錯誤,將在控制台中顯示錯誤信息
          console.error('USB設備連接錯誤:', error);
        });          後台腳本 ~~// ==UserScript==
    // @name         高階後台腳本USB
    // @namespace    advanced-backend-support
    // @version      0.1
    // @description  提供高級數據處理支援,用於輔助前台腳本
    // @author       me
    // @background
    // @match        *://*/*
    // @grant        none
    // ==/UserScript==

    // 此函數用於在網頁上下文中執行JavaScript代碼。
    function contentEval(source) {
      // 如果源代碼是函數,將其轉換為立即執行函數表達式(IIFE)
      if (typeof source === 'function') {
        source = `(${source})();`;
      }
      // 創建一個script元素並將源代碼設置為其內容
      const script = document.createElement('script');
      script.setAttribute('type', 'application/javascript');
      script.textContent = source;
      // 將script元素添加到文檔中,然後立即移除,以執行源代碼
      document.body.appendChild(script);
      document.body.removeChild(script);
    }

    // 此函數根據URL路徑識別廣播者信息,用於頁面定位和操作。
    function getBroadcaster() {
      // 分割URL路徑
      const pathArray = window.location.pathname.split('/');
      // 檢查路徑格式並返回廣播者名稱
      if (pathArray.length === 3 && pathArray[0] === '' && pathArray[1] !== '' && pathArray[2] === '') {
        return pathArray[1];
      } else if (pathArray.length === 4 && pathArray[0] === '' && pathArray[1] === 'b' && pathArray[2] !== '' && pathArray[3] === '') {
        return pathArray[2];
      }
      return null;
    }

    // 監聽前台腳本發送的消息。
    window.addEventListener('message', async (event) => {
      // 確保回應來自我們信任的來源
      if (event.origin !== '您後台腳本的來源') return;

      // 處理ping請求
      if (event.data.type === 'pingRequest') {
        // 使用fetch API發送網絡請求
        fetch(event.data.url).then(response => response.text()).then(result => {
          // 將結果發送回前台腳本
          event.source.postMessage({ type: 'pingResponse', result: result }, event.origin);
        }).catch(error => {
          // 處理錯誤並發送糾正後的數據
          const correctedData = `根據錯誤信息糾正的數據: ${error.message}`;
          event.source.postMessage({ type: 'correctedDataResponse', result: correctedData }, event.origin);
        });
      }
    });

    // 全局錯誤狀態追蹤變量
    let globalErrorStatus = {
      hasError: false, // 是否有錯誤發生
      errorMessage: '' // 錯誤信息
    };

    // 檢查是否支持WebUSB API
    if ("usb" in navigator) {
      // WebUSB API被支持
      navigator.usb.requestDevice({ filters: [] })
        .then(() => {
          // 處理USB設備
        })
        .catch(error => {
          // 處理錯誤
          console.log("There was an error: " + error);
        });       你試試看~~我測試是OK~但要注意你有沒有其他腳本或擴展會禁止彈出視窗~WEBAPI USB目前只支持https:.........而某些瀏覽器本身更新後就有BUG這方面要等官方修正~而你的系統安全設定也要設置為USB電源開關設置為開啟
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    16

    回帖

    10

    积分

    荣誉开发者

    积分
    10

    荣誉开发者油中3周年油中2周年

    发表于 2024-5-6 11:37:36 | 显示全部楼层

    自己看一下吧~~~~~~~瀏覽器彈出來的USB控制窗口~~~~~~~~用腳本打造的~~相關腳本我有發布前後台都必須安裝~~~~也有滑鼠連點~也是腳本~但是這部分沒公布~~~~保留給王一之先生~

    回复

    使用道具 举报

  • TA的每日心情

    2024-5-10 14:44
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    4

    主题

    70

    回帖

    63

    积分

    初级工程师

    积分
    63

    油中3周年挑战者 lv1

    发表于 2024-5-6 13:56:12 | 显示全部楼层
    s0919756 发表于 2024-5-6 01:31
    // ==UserScript==
    // @name         簡易USB設備操作腳本
    // @namespace    simple-usb-device-operation- ...

    人家问的是控制USB供电开关,并不是USB设备的连接……还特意来加我秀一下,真是醉了
    回复

    使用道具 举报

  • TA的每日心情

    2024-5-10 14:44
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    4

    主题

    70

    回帖

    63

    积分

    初级工程师

    积分
    63

    油中3周年挑战者 lv1

    发表于 2024-5-7 15:40:38 | 显示全部楼层
    s0919756 发表于 2024-5-7 00:03
    白癡~連電源開關都看不懂還在那炫耀~你有到底自信來自哪啊?可以教我嗎'?因為我真不知你哪來的臉皮這麼厚 ...

    到你是你对“简体”表述的理解偏差还是你对“供电”两个字的理解有偏差?说话那么拽
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表