การทำแผ่น Autorun โดยเมื่อใส่แผ่นก็ ให้เปิดโปรแกรมที่เราสร้างขึ้นมาได้หรือเปล่าครับ
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 355   11
URL.หัวข้อ / URL
การทำแผ่น Autorun โดยเมื่อใส่แผ่นก็ ให้เปิดโปรแกรมที่เราสร้างขึ้นมาได้หรือเปล่าครับ

เรียนอาจารย์สุภาพและท่านผู้รู้ครับ

คือว่าผมอยากสร้างแผ่น Autorun ครับ ให้รันโปรแกรมที่เราสร้างเมื่อใส่แผ่นเข้าไปครับ
จะต้องมีขั้นตอนยังไงบ้างครับ ผมเคยลองสร้างครับแต่มันไม่เคย Auto ให้สักที ต้องดับเบิลคลิกเหมือนเดิม

ขอบคุณครับ



11 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R06304
ลองดู http://agserver.kku.ac.th/basiceng/cdrw.asp
หรือค้นด้วยคำว่า autorun ดูครับ
2 @R06318
เรียนอาจารย์สุภาพครับ

ผมค้นหาแล้วแต่ไม่เจอที่ต้องการครับ และผมอ่านที่อาจารย์แนะนำแล้วไม่เข้าใจครับ

ถ้าผมใช้ Acc97 แล้วผมจะทำ .exe จากโปรแกรมอะไรได้บ้างครับเพื่อเอามาใช้ในการนี้
แล้วนี้ถ้าจะให้เปิดโดยอ้างจากไดร์ของ ชีดี โดยตรงต้องเขียนไฟล์ autorun ยังไงครับ


[autorun]

OPEN=Main\rh.exe

ICON=Main\rh.ico

ขอบคุณครับ
3 @R06321
ผมจะใช้ VB ครับ
ให้ค้นด้วยคำว่า ShellExecute ประกอบด้วยนะครับ จะมีการโค้ดสำหรับเปิดไฟล์เป้าหมายได้ ซึ่งถ้าจะเรียกให้เปิดไฟล์ MDB โดยตรง
ให้เขียนโค้ด ShellExecute ใน VB แล้ว Compile เป็น exe เล็กๆ เพื่อให้มัน Start up แล้วให้ไปเปิดไฟล์ MDB อีกที

ส่วนการอ้าง CD Drive ก็ใช้ App.Path ของ VB ได้เลยครับ

4 @R06365
เรียนอาจารย์สุภาพ ครับ

ผมอ่านดูแล้วก็ไม่เข้าใจเลยครับ

ขอบคุณครับ
5 @R06423
เรียนอาจารย์สุภาพครับ ท่านผู้รู้ และใครก็ได้
ผมค้นด้วยคำว่า ShellExecute มันมีอยู่ ประมาณ 5 กระทู้ครับ
ลองทำตามก็ทำได้แต่แบบนี้ครับ

Private Sub Command0_Click()
Dim stAppName As String
stAppName = "C:\WINDOWS\notepad.exe"
Call Shell(stAppName, 1)
End
End Sub

แล้วที่อาจารย์ว่า
"ถ้าจะเรียกให้เปิดไฟล์ MDB โดยตรง
ให้เขียนโค้ด ShellExecute ใน VB แล้ว Compile เป็น exe เล็กๆ เพื่อให้มัน Start up แล้วให้ไปเปิดไฟล์ MDB อีกที

ส่วนการอ้าง CD Drive ก็ใช้ App.Path ของ VB ได้เลยครับ
"
ทำยังไงครับ


ขอบคุณครับ
6 @R06425
ในกระทู้ http://www.thai-access.com/suphap.php?topic_id=259

จะมีโค้ดสำหรับเปิดไฟล์ต่างๆ ดังนี้ครับ

Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long

Global Const SW_SHOWNORMAL = 1

Function StartDoc(DocName As String)

On Error GoTo StartDoc_Error

StartDoc = ShellExecute(Application.hWndAccessApp, "Open", DocName, _
"", "C:\", SW_SHOWNORMAL)
Exit Function

StartDoc_Error:
MsgBox "Error: " & Err & " " & Error
Exit Function

End Function

ให้เอาโค้ดนี้ไปใส่ใน VB แล้ว เรียกฟังก์ชัน StartDoc

StartDoc App.Path & "\ชื่อไฟล์ฐานข้อมูล.mdb"

ในฟอร์มที่เลือกให้เป็น startup ครับ
7 @R06428
ขอขอบคุณในความกรุณาครับ ท่านอาจารย์สุภาพ
ผมเคยลองทำแล้วครับ
จะฟ้อง บรรทัดนี้ครับตัวหนังสือเป็นสีแดง ใน VB
Global Const SW_SHOWNORMAL = 1

ผมทำตามคำแนะนำอาจารย์ก็ยังไช้ไม่ได้เหมือนเดิมครับ

หรือผมต้องไปเซ็ต อะไรอีกหรือเปล่าครับ

ขอบคุณครับ
8 @R06429
เขียนไว้ในส่วนของ Module นะครับ
9 @R06431
เขียนไว้ใน Module ของAccess ใช่หรือเปล่าครับ เพราะไม่เห็นฟ้องอะไร
แต่ถ้าเอาไปไว้ในส่วนของ class Module ของ VB จะฟ้อง เหมือนเดิมครับ
Global Const SW_SHOWNORMAL = 1

ขอบคุณครับ
10 @R06432
ต้องใส่ใน VB ครับ

ลองเอาบันทัดนี้ออกก แล้วใส่ค่าตัวเลขในโค้ดลงไปเลยดูครับ

เปลี่ยนจาก

StartDoc = ShellExecute(Application.hWndAccessApp, "Open", DocName, _
"", "C:\", SW_SHOWNORMAL)

เป็น

StartDoc = ShellExecute(Application.hWndAccessApp, "Open", DocName, _
"", "C:\", 1)


11 @R06435
ยังใช้ไม่ได้ครับอาจารย์ ตอนเขียนใน Moduleไม่มีฟ้องแล้วครับ ลำดับขั้นตอนที่ผมทำนะครับ
1. เริ่มจากสร้าง Module1 มีโค้ดดังนี้ครับ
Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long

Global Const SW_SHOWNORMAL = 1

Function StartDoc(DocName As String)

On Error GoTo StartDoc_Error

StartDoc = ShellExecute(Application.hWndAccessApp, "Open", DocName, _
"", "C:\", 1)
Exit Function

StartDoc_Error:
MsgBox "Error: " & Err & " " & Error
Exit Function

End Function

2.สร้าง Form1 มี Command1 มีโค้ดเพื่อให้เปิดฐานข้อมูล shellApp.mdbดังนี้
Private Sub Command1_Click()
StartDoc App.Path & "\shellApp.mdb"
End Sub

และเมื่อคลิกที่ Command1 จะมี Msgbox ฟ้องว่า
Error : 424 Object required

ผมคิดว่าผมตามคำแนะนำทุกอย่างแล้วนะครับอาจารย์
หรือว่าผมต้องลง SP ของ Vb หรือเปล่าครับ

ขอบคุณครับ

*** เครื่องผมใช้ MSVB 6.0 Professional Edition
win XP, MS office 97 และลงโปรแกรม access2002

@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0904s