神烦论坛

 找回密码
 立即注册
查看: 1764|回复: 3

[已回复] 请问使用单文件系统为什么会显示更新连接不上服...

[复制链接]

1

主题

3

帖子

11

积分

一级圣斗士

Rank: 1

积分
11
发表于 2017-2-26 18:06:14 | 显示全部楼层 |阅读模式
本帖最后由 xg5699 于 2017-2-26 20:20 编辑

点了更新后


T5WY]ZBN1`L)BX]~YZQH~8S.png


Q9$]QJU(U%T%YJX[EFE%THR.png

token也是检查过了没问题,家里是上海电信50M的宽带,请问这是什么问题?小精灵里面的代码就是网站下的




  1. Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

  2. //界面初始化 释放 BbyUpdater更新文件,并重命名为 BbyUpdater.exe
  3. Event Form1.Load
  4.         str = string(1024, 0)
  5.         GetModuleFileName 0, str, len(str)
  6.         程序路径 = Replace(str, split(str, "")(ubound(split(str, ""))), "")
  7.         file1 = 程序路径 & "BbyUpdater.zip"        
  8.         file2 = 程序路径 & "BbyUpdater.exe"        
  9.         PutAttachment ".", "BbyUpdater.zip"
  10.         Call Plugin.File.ReNameFile(file1, file2)
  11. End Event

  12. Event Form1.Button1.Click
  13.         
  14.         fileHandle=Plugin.File.OpenFile(".\access.token")   //从云虚拟桌面下载的客户端会自动access.token文件,可以读取后直接访问
  15.         token=Plugin.File.ReadFile(fileHandle,32)
  16.         Call Plugin.File.CloseFile(fileHandle)   
  17.         call 文件更新(token,"测试项目","1.0.0.0")
  18. End Event

  19. Public Declare Function GetParent Lib "user32" Alias "GetParent" (ByVal hwnd As Long) As Long
  20. Public Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long
  21. Public Declare Sub rtcDoEvents Lib "msvbvm60.dll" Alias "rtcDoEvents" () As Long

  22. Function GetCurrentPID()

  23.     Hwnd = Form1.Hwnd
  24.     Do
  25.         hwnd = GetParent(hwnd)
  26.         If hwnd = GetDesktopWindow() or hwnd=0 Then
  27.                 hwnd = oldhwnd
  28.                 Exit Do
  29.         Else
  30.             oldhwnd=hwnd
  31.         End If
  32.         rtcDoEvents
  33.     Loop
  34.     GetCurrentPID = Plugin.Sy**.GetProcessID(hwnd )  //safasdf
  35. End Function

  36. Function 文件更新(token, 项目名称, 版本号)

  37.         //BbyUpdater.exe 进程启动需要附加四个参数
  38.         //token              百宝云对应云应用token
  39.         //progname                百宝云对应云应用代码中的项目名称
  40.         //pid                     当前进程的PID,用于更新器,关闭当前进程,如果你是按键精灵,需要获取父级的进程PID,按键精灵具有特殊性
  41.         //version                文件版本号,注意版本号必须为1.0.0.0有格式
  42.         
  43.         str = string(1024, 0)
  44.         GetModuleFileName 0, str, len(str)
  45.         程序路径 = Replace(str, split(str, "")(ubound(split(str, ""))), "")
  46.         file1 = 程序路径 & "BbyUpdater.exe"        
  47.     progname = 项目名称
  48.     pid = GetCurrentPID()
  49.     command = file1 & " " & Chr(34) & token & Chr(34) & " " & Chr(34) & progname & Chr(34) & " " & pid & " " & Chr(34) & 版本号 & Chr(34)
  50.     //MessageBox command
  51.     RunApp command
  52.    
  53. End Function
复制代码
现在已用大漠获取句柄已经可以正常显示PID了 但是更新进度还是为0 之后跳掉什么也不显示!
W34~1YK2BR@[P0_)8A8OJ87.png

回复

使用道具 举报

1

主题

3

帖子

11

积分

一级圣斗士

Rank: 1

积分
11
 楼主| 发表于 2017-2-26 21:14:35 | 显示全部楼层
终于解决所有问题了

第一由于是按键9版本比较老可能有写代码不能正常运行。
1。首选自己先去按键论坛下载个最新的SYS系统增强插件,然后才可以使用Plugin.Sy**.GetProcessID(hwnd ) 插件命令

2。百宝的代码中按键9不能获取到小精灵的句柄,可以用大漠命令dm.GetForegroundWindow()获取到小精灵句柄就能线上PID了

3。最最重要的一点,我千弄万弄浪费了我3小时,我想整个程序都没问题了应该可以用了为什么软件更新就会自动删除不更新,那是万恶的360游览器,3小时候我想到以前用APP把电脑电影用无线网传电影到手机上,360游览器就有问题,但用IE8就好了
而这个也是一样的道理,用IE8虽然不能正常显示,但能用,然后用谷歌的CHROME游览器打开百宝云应用完全就OK啦
回复 支持 1 反对 0

使用道具 举报

1

主题

3

帖子

11

积分

一级圣斗士

Rank: 1

积分
11
 楼主| 发表于 2017-2-26 18:25:28 | 显示全部楼层
本帖最后由 xg5699 于 2017-2-26 18:36 编辑

我取消了注释 MessageBox command

发现PID是0 但任务管理器查看是4000多,说明获取PID失败了?

后来我在HWND代码下加了行MsgBox hwnd  运行程序时弹出框为0  说明从一开始获取小精灵的句柄就失效了
  1. Function GetCurrentPID()

  2.     Hwnd = Form1.Hwnd
  3.     Do
  4.         hwnd = GetParent(hwnd)
  5.         MsgBox hwnd
  6.         If hwnd = GetDesktopWindow() or hwnd=0 Then
  7.                 hwnd = oldhwnd
  8.                 Exit Do
  9.         Else
  10.             oldhwnd=hwnd
  11.         End If
  12.         rtcDoEvents
  13.     Loop
  14.     GetCurrentPID = Plugin.Sy**.GetProcessID(hwnd)//safasdf
  15.    
  16. End Function
复制代码


回复 支持 反对

使用道具 举报

231

主题

381

帖子

2145

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2145
发表于 2017-2-27 09:50:04 | 显示全部楼层
您好,
该应用的更新下载命令格式:\BbyUpdater.exe "token" "项目名称" 进程ID "版本号"
(引号别漏了,按键的引号可以写  """" 两个引号来表示)

按键精灵9版本,有些命令功能不支持,在测试的时候,请确保参数正确。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术支持
关闭
售后
在线客服
QQ群:309604797
在线客服

小黑屋|神烦论坛 ( 苏ICP备18043773号 )

GMT+8, 2024-12-22 11:35

Powered by bby! X3.4

© 2015-2024 baibaoyun

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