这个问题很重要???

daiyu11 2004-04-22 09:26:39
DELPHI做的程序能不能不用安装就运行。
包括WIN98以上的所有版本。
...全文
26 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
daiyu11 2004-04-22
  • 打赏
  • 举报
回复
To:tccsdn(程序||乱码)
目的就是先展示一端动画,然后调用安装程序.
最好用API实现.
tccsdn 2004-04-22
  • 打赏
  • 举报
回复
不懂VB
daiyu11 2004-04-22
  • 打赏
  • 举报
回复
各位老大,是这样!
我作了一个在安装之前,运行的动画。用VB6作的。
再WIN2000下运行正常,在WIN98下显示没有MSVBVM60.DLL运行库.

没办法了.突然我想到用DELPHI.可是明天老板就要了.一晚上我也学不会DELPHI呀!
那位好心的老大帮我翻译成DELPHI.下面给出代码:
''''''''''''''''''''
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uRetrunLength As Long, ByVal hwnd_Callback As Long) As Long

Dim length As Integer
Dim ii As Integer

Private Sub Form_Load()

Dim Result As Integer
Dim ResultStr As String * 1024
Dim S As String * 1024

Dim ss As String * 256
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
mciSendString "STATUS MYMEDIA position", S, Len(S), 0
Result = mciSendString("open " & App.Path & "/gsj.avi Alias kkk", ResultStr, 0, 0) ''影片为gsj.avi
Result = mciSendString("Window kkk handle " & frmSetUp.Picture1.hwnd, ResultStr, 0, 0)
Result = mciSendString("play kkk", ResultStr, 0, 0)
Result = mciSendString("status kkk length", ss, Len(ss), 0)
length = CInt(ss)
Timer1.Enabled = True
Picture1.Left = 0
Picture1.Top = 0
Me.Width = Picture1.Width
Me.Height = Picture1.Height
ii = 0
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim Result As Long
Dim ResultStr As Long
Result = mciSendString("close kkk", ResultStr, 0, 0)
End Sub

Private Sub Timer1_Timer()
Dim Result2 As Integer
Dim sss As String * 256
Dim aa As Integer
Result2 = mciSendString("status kkk position", sss, Len(sss), 0)
aa = Val(sss)
If aa >= length Then
Dim Result As Integer
Dim ResultStr As String * 1024
Result = mciSendString("close kkk", ResultStr, 0, 0)
Picture1.Picture = LoadPicture(App.Path & "/back.jpg")
Timer1.Enabled = False
Timer2.Enabled = True
Shell App.Path & "/true.exe" ''安装文件为true.exe
End If
End Sub
Private Sub Timer2_Timer()
ii = ii + 1
If ii >= 200 Then
Timer2.Enabled = False
Unload Me
End If

End Sub
sunnydog0101 2004-04-22
  • 打赏
  • 举报
回复
编译成可执行文件就可以直接运行,不用安装.

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧