服务公告

服务公告 > 站长工具 > 局域网共享工具 - 只想要个简单小工具

局域网共享工具 - 只想要个简单小工具

发布时间:2025-08-22 19:44

文件共享用的 CHFS 3.1,AutoIt 写的

使用方法:
1. 点击 浏览 选择要共享的文件夹
2. 点击 开始共享
3. 在浏览器输入网址 或 点击 [打开二维码],使用手机扫描二维码 即可
4. 结束可点击 停止共享,或直接关闭窗口

注意:
1. 限局域网内使用
2. 无线请在同一个WIFI下使用

2025.2.25
发布工具


2025.2.26 更新记录:
1. 增加后台运行(右击托盘图标 显示/隐藏窗口
2. 去除共享页面 登录 按钮,联系、捐助 文字,页面更简洁
3. 放大二维码
4. 工具改名为“域共享”
下载地址:https://wwif.lanzn.com/iQ3HN2oxs6ed

有问题回帖反馈,尽量在帖子可编辑时间内改,源码如下:

#NoTrayIcon

#include <ButtonConstants.au3>

#include <EditConstants.au3>

#include <GUIConstantsEx.au3>

#include <StaticConstants.au3>

#include <WindowsConstants.au3>

#include <File.au3>

#include <QRCode.au3>

#Include <Misc.au3>

 

; 只允许运行一个实例

_Singleton(@ScriptName)

 

; 定义临时文件夹路径

Global $tempDir = @TempDir & "\es"

DirCreate($tempDir)

 

; 嵌入文件到临时文件夹

FileInstall("chfs.exe", $tempDir & "\chfs.exe", 1)

FileInstall("qrcode.dll", $tempDir & "\qrcode.dll", 1)

 

; 获取当前活动网络适配器的IP地址

Global $currentIP = _GetCurrentActiveNICIP()

Global $processID = 0

Global $isRunning = False

 

; 创建主界面

Global $mainForm = GUICreate("内网共享", 320, 94, -1, -1, $WS_CAPTION + $WS_SYSMENU)

Global $sharePathInput = GUICtrlCreateInput("", 65, 10, 186, 21)

Global $browseButton = GUICtrlCreateButton("浏览", 256, 9, 57, 23)

Global $labelSharePath = GUICtrlCreateLabel("共享目录:", 8, 13, 55, 17)

Global $labelShareURL = GUICtrlCreateLabel("共享网址:", 8, 39, 55, 17)

Global $labelCurrentIP = GUICtrlCreateLabel("", 65, 39, 246, 17)

Global $startStopButton = GUICtrlCreateButton("开始共享", 116, 59, 89, 25)

GUISetState(@SW_SHOW)

 

; 主消息循环

While 1

    $msg = GUIGetMsg()

    Switch $msg

        Case $GUI_EVENT_CLOSE

            ; 关闭时清理资源

            If $processID <> 0 Then ProcessClose($processID)

            DirRemove($tempDir, 1)

            Exit

        Case $browseButton

            $selectedDir = FileSelectFolder("请选择共享文件夹", "")

            If @Error = 0 Then GUICtrlSetData($sharePathInput, $selectedDir)

        Case $labelCurrentIP

            If $isRunning Then _CreateQRCode()

        Case $startStopButton

            If $isRunning Then

                ProcessClose($processID)

                GUICtrlSetData($startStopButton, "开始共享")

                GUICtrlSetData($labelCurrentIP, "")

                $isRunning = False

            Else

                $selectedFolderDir = GUICtrlRead($sharePathInput)

                If $selectedFolderDir = "" Then

                    MsgBox(48, "错误", "请选择共享目录")

                Else

                    GUICtrlSetData($labelCurrentIP, $currentIP & ":8080" & "  [打开二维码]")

                    $processID = Run($tempDir & '\chfs.exe -port 8080 -path "' & $selectedFolderDir & '"', $tempDir, @SW_HIDE)

                    GUICtrlSetData($startStopButton, "停止共享")

                    $isRunning = True

                EndIf

            EndIf

    EndSwitch

WEnd

 

; 获取当前活动网络适配器的IP地址

Func _GetCurrentActiveNICIP()

    Local $objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")

    If Not IsObj($objWMIService) Then Return SetError(1, 0, "")

    Local $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

    If Not IsObj($colItems) Then Return SetError(2, 0, "")

    For $objItem In $colItems

        If IsArray($objItem.DefaultIPGateway) Then

            Return $objItem.IPAddress(0)

        EndIf

    Next

    Return ""

EndFunc

 

; 创建二维码

Func _CreateQRCode()

    _QRCode_StartUp()

    Local $qrCodeData = _QRCode_GetQRCode("http://" & $currentIP & ":8080", $_QRCode_ECL_LOW)

    Local $width = 200, $height = 200

    Local $hGui = GUICreate("扫描二维码", $width, $height, -1, -1, $WS_CAPTION + $WS_SYSMENU)

    GUISetState(@SW_SHOW, $hGui)

    Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)

    Local $hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphics)

    Local $hBitmapGraphics = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    _GDIPlus_GraphicsClear($hBitmapGraphics, 0xFFFFFFFF)

    _QRCode_DrawQRCode($hBitmapGraphics, $qrCodeData, 5, ($width - 126) / 2, ($height - 126) / 2)

    _GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, $width, $height)

    While 1

        If GUIGetMsg() = -3 Then ExitLoop

    WEnd

    _GDIPlus_GraphicsDispose($hGraphics)

    _GDIPlus_BitmapDispose($hBitmap)

    GUIDelete($hGui)

    _QRCode_Shutdown()

 

EndFunc

上一篇: 个人账号密码管理器

下一篇: 新上架产品

扫一扫访问手机版
30+ 高防云产品
1000+企业的共同选择