วันอังคารที่ 14 มกราคม พ.ศ. 2557

การเขียน Batch File เชื่อมต่อ VB6 ตอนที่ 2

การนำคำสั่งแบทไฟล์ทั้งดุ้น...บรรจุลงใน VB6
   หลายท่านอาจสงสัยว่า...ทำไมไม่ยัดคำสั่ง DOS ใส่ลงใน VB6 เลย...ไม่เห็นต้องเขียนให้คนอื่นๆ รู้ สามารถทำได้เช่นกันครับ...ข้อดีของมันคือ...ไม่ต้องแสดงให้คนอื่นรู้ว่าแบตช์ไฟล์เราเขียนอย่างไร...(เช่นเดียวกับ Batchfile to EXE หรือคอมไพล์เลอร์แบตช์ไฟล์ตามท้องตลาด) แต่ข้อเสียคือการแก้ไขปรับปรุงต้องทำการคอมไพล์ .EXE ใหม่ทุกครั้ง...เสียเวลามาก...
      เขียนแบตช์ไฟล์แทรกลงในบรรทัด VB6 เหรอ...ยากจัง?
      ตอบ ไม่จำเป็น เพียงแค่รู้คำสั่งจัดการแฟ้มของ VB6 เท่านั้น ส่วนโค้ดแบตช์ไฟล์ยัดใส่ใน Text Control เอาเท่านั้น...ไม่เห็นยุ่งยาก...
      และมันลองรับภาษาไทยไหม?
      ตอบ ลองรับครับ...ถ้าเลือกฟอนต์ของ Text Control ถูกต้อง ก็อ่านเขียนภาษาไทยได้ไม่ผิดเพี้ยน
มาเริ่มกัน...
นี้คือตัวอย่างโค้ดแบตช์ไฟล์ที่ต้องการทำเป็น .EXE แบบเท่ห์ๆ (ตัวอย่าง)
@echo off
title Unhiden Folder...by Tanatdech  Boonluelak
color a
echo.
echo        __   __   ________  __  __    _______  _____  ___     __
echo       / /  / /  / ____  / /_ \/  \  /____  / /__  / / _/    / /
echo      / /  / /  / /_  / /   / / \ / ___  / /    / /  \ \    / /
echo     / /  / /  / __/ / /   / / / / / _/ / /    / /    \ \  / /
echo    / /  / /  / /   / /   / / / / / /__/ /    / /    /  /_/ /
echo   /__/ /__/ /_/   /_/   /_/ /_/ /______/    /_/    /______/
echo.
echo Un Hiden File or Folder Beta...
echo https:\\www.thaibatchfile.blogspot.com
echo.
ping 127.0.0.1>nul
for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
  if "%%a"=="%1" (
    title Wait...
    echo Wait...?
    attrib -r -s -h -a %%a:\*.* /d /s
    title Unhiden Folder...by Tanatdech  Boonluelak
    echo Finish...!
  ))
*** โปรแกรมนี้...เก๋อ...มาก...มีเยอะมาก Un Hidden File  หรือเรียกอย่างอีกอย่างว่า...กู้ไฟล์ซ่อนจากไวรัสให้หนูที...(บางคนจำคำสั่งไม่ได้...โพสต์บอกวิธีกันมา 6 ปีแล้ว...ทุกวันนี้...บางคนยังมาลงอัปเดรต อยู่เลย...ฉายซ้ำหลายรอบครับ...หนังเรื่องนี้)

1. เปิดตัว VB6 Portable ที่ให้ไปตอนที่ 1
2. สร้างโปรแกรมขึ้นมาโดยเลือกเครื่องมือ (Textbox จากภาพผิดนิดหน่อย)
3. คัดลอกแบตช์ไฟล์ที่ต้องการนำคำสั่งไป VB6 ***จากนั้นปิดโปรแกรม Notepad มิฉนั้นจะ Error


4. ปรับ Properties ของ Text1 เป็น Multiline เพื่อให้สามารถรับข้อมูลแบบหลาย บรรทัดได้
5. วางคำสั่งที่คัดลอกมาในช่อง Text เพื่อให้โค้ดแบตช์ไฟล์บรรจุใน VB6 (โดยไม่ต้องเขียนคำสั่งใหม่)
7. ปรับ Text1 เป้น Visible  False (ไม่แสดงที่ฟอร์ม) เพื่อไม่ให้เกะกะการแสดงผล
8. สร้างปุ่ม เรียกคำสั่ง ปรับ Caption เป็นข้อความที่ต้องการ ปรับ Font และ สีตามต้องการ
9. เพิ่ม Control Drive เข้ามา...เพื่อให้โปรแกรมสามารถเลือกไดร์ฟการทำงานได้ จากนั้นเพิ่ม Control ตามต้องการทั้งภาพ...ข้อความ แสง สี เสียง..
10. ดับเบิลคลิก ปุ่มเรียกคำสั่ง และบรรจุโค้ดคำสั่งเข้าไปตามนี้

Private Sub Command1_Click() ' ทำงานเมื่อคลิก
    Open "Unhiden.BAT" For Output As #1 ' สร้างแบตช์ไฟล์เพื่อเขียน
        Print #1, Text1.Text ' สร้างจาก Text1
    Close #1 ' ปิด
    Shell "cmd /c  Unhiden.BAT " & Left(Drive1.Drive, 1), vbMaximizedFocus ' เรียกคำสั่งแบตช์ไฟล์
End Sub


11. คอมไพล์โปปรแกรมตั้งชื่อ...โปรแกรมเป็นอันใช้งานได้


โปรแกรมนี้คุณไม่ต้องพกพา Batch File ไปควบคู่....เพราะมันถูกบรรจุไว้ใน .EXE เรียบร้อยแล้ว...และวิธีนี้คุณสามารถนำแบตช์ไฟล์ อีกนับสิบ...มาสร้างเป็นปุ่ม...โดยแยกแต่ละ Control เท่านั้น....คงไม่ยากจนเกินไปนะครับ...

ไม่มีความคิดเห็น:

แสดงความคิดเห็น