วันจันทร์ที่ 27 ตุลาคม พ.ศ. 2557

ProcessStartInfo Class

การเรียกใช้งาน Process โดยมี arguments ใน VB.net

Imports System
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
            ' Opens the Internet Explorer application.
            Public Sub OpenApplication(myFavoritesPath As String)
            ' Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe")

            ' Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath)
        End Sub 'OpenApplication

        ' Opens urls and .html documents using Internet Explorer.
        Sub OpenWithArguments()
            ' url's are not considered documents. They can only be opened
            ' by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com")

            ' Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\myPath\myFile.htm")
            Process.Start("IExplore.exe", "C:\myPath\myFile.asp")
        End Sub 'OpenWithArguments

        ' Uses the ProcessStartInfo class to start new processes,
        ' both in a minimized mode.
        Sub OpenWithStartInfo()
            Dim startInfo As New ProcessStartInfo("IExplore.exe")
            startInfo.WindowStyle = ProcessWindowStyle.Minimized

            Process.Start(startInfo)

            startInfo.Arguments = "www.northwindtraders.com"

            Process.Start(startInfo)
        End Sub 'OpenWithStartInfo

        Shared Sub Main()
            ' Get the path that stores favorite links.
            Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)

            Dim myProcess As New MyProcess()

            myProcess.OpenApplication(myFavoritesPath)
            myProcess.OpenWithArguments()
            myProcess.OpenWithStartInfo()
        End Sub 'Main
    End Class 'MyProcess
End Namespace 'MyProcessSample

ที่มา Microsoft

วันเสาร์ที่ 18 ตุลาคม พ.ศ. 2557

How to Create an OS X 10.10 Yosemite USB Installer


How to Create an OS X 10.10 Yosemite USB Installer

1. Format and Prepare USB Drive
Plug the drive into a Mac running OS X10.7 or higher and launch Disk Utility

In Disk Utility, Select the USB Flash drive from the list on the left.

Note: That you want to select the drive and not the volume. We’re using a SanDisk Cruzer flash drive, so in our case we choose 16.01 GB SanDisk Cruzer Media and not the default “No Name” volume.

With the USB drive selected, choose Partition tab on the right side of the window.

The partition scheme and volume properties of your flash drive will vary depending on manufacturer and previous configuration. In our case, our drive is brand new and formatted as a FAT volume with a Master Boot Record partition scheme. This won’t work for Yosemite, so we need to change it.

In the drop-down menu under Partition Layout, choose 1 to create a single new partition. Then click Option, choose GUID Partition Table, and click OK to save the change. Under Partition Information, Chang Format to Mac OS Extended (Journaled) and give the drive the name “Untitled” (this allows your drive to work with the Terminal commands below; you can rename the drive when the process is complete).

Press Apply to restructure the USB volume with the new parameters.

Note: that this will erase all contents of the USB drive so, as mentioned above, be sure to back up any files on the drive or use a blank drive to begin with.

2. Create the Bootable Yosemite USB Installer with Terminal

Now that your USB flash drive is ready, we can complete the process of creating a bootable Yosemite USB installer with a simple Terminal command.

Open Terminal from /Applications/Utilities and then enter the following command:


sudo /Applications/Install\ OS\ X\ Yosemite\ Beta.app/Contents/Resources/createinstallmedia –volume /Volumes/Untitled –applicationpath /Applications/Install\ OS\ X\ Yosemite\ Beta.app –nointeraction


sudo [drag-drop createinstallmedia] –volume [Flash drive path] –applicationpath [drag-drop Yosemite app path] –nointeraction


Press the Return key on your keyboard to execute the command, and enter your admin password when requested. This will create a bootable Yosemite USB installer using OS X’s createinstallmedia tool, which can take quite a while depending on the speed of your flash drive.

Let the tool do it’s thing and don’t interrupt the process until you see Terminal output Done and return your window to the user prompt. When it’s complete, your USB installer will be mounted to your Desktop and you can now rename this drive (highlight it on the Desktop and press Return)

Win7 เปลี่ยนภาพพื้นหลังหน้า Login Screen



สิ่งที่เราต้องมี อย่างเดียวเลยก็คือ ภาพที่ต้องการนำมาใช้ ซึ่งภาพนั้นจะมีความกว้างสูง(Resolution)เท่าไรก็ได้ แต่ขนาดไฟล์นั้นต้องไม่เกิน 245kb

จะแบ่งเป็นสองส่วนหลักๆ เริ่มจากส่วนแรกคือตั้งค่า Registry

1. เปิดใช้งานภาพพื้นหลังของ Login Screen โดยไปที่ปุ่ม Start และพิมพ์ในช่องค้นหา(หรือจะกด WinKey+R ก็ได้) ว่า "regedit" แล้วกด Enter


2. คลิกขวาที่ HKEY_LOCAL_MACHINE เลือก Fine... พิมพ์ "oembackground" แล้วกด Fine Next


3. ดับเบิ้ลคลิกที่คีย์ OEMBackground ที่ช่อง Value ให้เป็น 1 และ Base ให้เป็น Decimal คลิก OK


หมายเหตุ: เป็นอันจบขั้นตอนการตั้งค่า Registry การตั้งเป็น 1 หมายถึงเปิดใช้งาน Background ถ้าตั้งเป็น 0 ระบบก็จะใช้พื้นหลังที่ติดมากับวินโดว์เหมือนเดิม

ส่วนที่สอง การนำภาพที่เตรียมไว้มาทำเป็นพื้นหลัง

ภาพที่ใช้นั้นต้องมีขนาดไฟล์ไม่เกิน 245kb จากตัวอย่างใช้ภาพขนาด 237kb


1. เปลี่ยนชื่อไฟล์ภาพที่ต้องการให้เป็น "backgroundDefault.jpg"

2. เปิดโฟลเดอร์ C:/Windows/System32/oobe ขึ้นมา (ถ้าหาไม่เจอก็กด WinKey+R และพิมพ์ลงไปเลย)

3. สร้างโฟลเดอร์ใหม่ขึ้นมาภายในโฟลเดอร์ oobe โดยให้ชื่อโฟลเดอร์ว่า "info"


4. เข้าไปในโฟลเดอร์ info และสร้างโฟลเดอร์ใหม่ขึ้นมาโดยให้ชื่อว่า "backgrounds"


5. นำไฟล์ภาพ "backgroundDefault.jpg" ที่เราเตรียมไว้ ใส่ลงไปในโฟลเดอร์ backgrounds เป็นอันเสร็จขึ้นตอน


กดปุ่ม WinKey+L เพื่อชมผลงาน


ชอบบทความก็กด Like เป็นกำลังใจให้ด้วยนะครับ ^_^

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

เลื่อน Form ที่ไม่มี Titlebar (Move Form without Titlebar)

เลื่อน Form ที่ไม่มี Titlebar (Move Form without Titlebar)


บางครั้งเราก็ต้องการสร้างฟอร์มที่ไม่มี Titlebar แต่ก็อยากให้มันสามารถ แดรกเมาส์เลื่อนไปเลื่อนมาได้ ตัวอย่างโค้ด

'Declare the variables
Dim drag As Boolean
Dim mousex As Integer
Dim mousey As Integer

Private Sub Form1_MouseDown(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles Me.MouseDown
        drag = True 'Sets the variable drag to true.
        mousex = Windows.Forms.Cursor.Position.X - Me.Left 'Sets variable mousex
        mousey = Windows.Forms.Cursor.Position.Y - Me.Top 'Sets variable mousey
End Sub

Private Sub Form1_MouseMove(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles Me.MouseMove
        'If drag is set to true then move the form accordingly.
       If drag Then
           Me.Top = Windows.Forms.Cursor.Position.Y - mousey
           Me.Left = Windows.Forms.Cursor.Position.X - mousex
       End If
End Sub

Private Sub Form1_MouseUp(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles Me.MouseUp
        drag = False 'Sets drag to false, so the form does not move according to the code in MouseMove
End Sub





VB.net ตรวจสอบว่าใช้ Platform 32bit หรือ 64bit

VB.net ตรวจสอบว่าใช้ Platform 32bit หรือ 64bit


การตรวจสอบว่าเครื่องที่รันโปรแกรมอยู่นี้ใช้ Windows ระบบใด ใช้คำสั่งตรวจสอบง่ายๆ ดังนี้

If IntPtr.Size = 8 Then
' 64 bit machine 
ElseIf IntPtr.Size = 4 Then
' 32 bit machine 
End If

ง่ายๆ เท่านี้แหละครับ ไม่ต้องเขียน Code ให้ยืดยาว

แก้ปัญหา การใช้ VB.NET รันไฟล์ .BAT

แก้ปัญหา การใช้ VB.NET รันไฟล์ .BAT


การใช้ VB.NET รันไฟล์ .BAT บางท่านอาจประสบปัญหากับการใช้คำสั่ง Process.Start เพื่อจะรัน Bat file แต่กับ Error แพทฟอร์มไม่สอดคล้อง

ลองใช้คำโค้ดจากตัวอย่างต่อไปนี้แทนการใช้ Process.Start ดูครับ


Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim procInfo As New ProcessStartInfo()
            procInfo.UseShellExecute = True
            procInfo.FileName = "CMD.bat" 'ที่อยู่ไฟล์ที่ต้องการรัน
            procInfo.WorkingDirectory = Application.StartupPath 'โฟลเดอร์ Start in
            procInfo.Verb = "runas"
            Process.Start(procInfo)
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString())

        End Try
    End Sub
End Class