Category dotnet

[.NET] Manage Resource VS Unmanage Resource

ช่วงนี้ผมลองศึกษา Pattern ออกแบบ Software ของฝั่ง Microsoft เสนออยู่ครับ โดยเป็นพวก MVP และ MVVM (เดี๋ยวว่าๆ จะมาเขียน Blog สรุปให้อ่ากันนะครับ) เมื่อผม”ศึกษา ค้นพบ เรียนรู้ และเจอปัญหาใหม่” ซึ่งทำให้ผมต้องทำความเข้าใจกับคำว่า “Manage Resource” กับ “Unmanage Resource” กันก่อน ว่าแต่ละคำ คือ อะไร และทำไมเราถึงต้องเข้าใจ และประยุกต์ใช้กับการ Coding ได้อย่างไร ? Resource คือ อะไร ? ถ้าแปลตรงตัว Resource…

เปิดไฟล์จาก Visual Studio เวอร์ชั่นสูงๆ ด้วย Visual Studio 2010

Visual Studio

บางครั้ง เราต้องการดูโครงสร้างของโปรแกรมที่ทำด้วย Visual Studio เวอร์ชั่นสูงๆ แต่เรามีเพียงแค่ Visual Studio 2010 เท่านั้น วันนี้ผมมีวิธีแก้ไขค่า Config นิดหน่อยเพียงให้เราสามารถเปิดดูได้ ใช้อ่าน และไล่ Code ดูได้ครับ ส่วนที่ 1 แก้ไข Solution File(.sln)เปิด Solution File ด้วยโปรแกรม Text Editor เช่น Notepad++ จากนั้นแก้ส่วนหัวของ Solution File ส่วนที่ 2 แก้ไข Project File (.csproj หรือ .vbproj)เปิด…

[SQLite] System.Data.SQLite.SQLiteConnection cannot be cast to …

C# Logo

เวันนี้เขียนโปรแกรม C# กับ SQLite อยู่ดีๆ Bulid ผ่านะ แต่ Runtime Error โดยมี Message แจ้ง ดังนี้ [A]System.Data.SQLite.SQLiteConnection cannot be cast to [B]System.Data.SQLite.SQLiteConnection. Type A originates from ‘System.Data.SQLite, Version=1.0.92.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139’ in the context ‘Default’ at location ‘C:\Users\Chatr_000\Desktop\InvConfig(AutoRegisDLL)\InvConfig\bin\Release\System.Data.SQLite.dll’. Type B originates from ‘System.Data.SQLite,…

[C#] แสดง Bullet (ฺจุดลิสต์รายการ) ในโปรแกรมของเราได้อย่างไร

C# Logo

เมื่อเราพัฒนาระบบขึ้นมา ระบบต้องมีการโต้ตอบ หรือให้ข้อมูลต่างๆแก่ user ซึ่งถ้าเราแสดงตัวอักษรอย่างเดียวไป มันอาจจะทำให้อ่านยาก และไม่สวยงามด้วย วันนี้ผมมานำเสนอการพิมพ์ Bullet หรือจุดลิสต์รายการ เพื่อให้ข้อมูลแสดงออกมาให้ดูง่าย ดังนี้ ก่อนอีกเลย เราต้องรู้ว่าอักษร Bullet หรือ จุดนี่ มันมีค่า Unicode ค่าอะไร เมื่อประกาศค่าคงที่เรียบร้อยแล้ว เราสามารถนำใส่ต่อกับ String ที่ต้องการได้เลยครับ อันนี้ผมนำไปใช้เพื่อแสดงรายละเอียดการแก้ไขโปรแกรม หรือ change log ให้ดูได้ง่ายขึ้นนะครับ ตัวอย่างเมื่อ Run Program ครับ

Regsvr32.exe กับ Regasm.exe เหมือนกัน หรือ ต่างกันอย่างไร

ช่วงนี้ได้ลองวิจัยฝุ่น พัฒนาโปรแกรมเพื่อช่วยให้การทำงาน ง่ายและสะดวกขึ้น โดย Tool ที่ทำเพิ่มต้องมีความสามารถในการ Register / Unregister DLL ได้ จากการลองศึกษาข้อมูลมาพวกว่า Microsoft ได้ทำ Tools ขึ้นมาสองตัว ได้แก่ Regsvr32.exe  และ Regasm.exe โดยสองตัวนี้ มีหน้าที่ที่เหมือนกัน คือ จัดการกับ DLL แต่ส่วนที่ต่างกัน คือ Regsvr32.exe  เป็น command-line tool ที่เอาไฟล์จัดการกับไฟล์ ประเภท Dynamic-link libraries (DLLs) and ActiveX controls (COM LIBRARY) บน Registry โดยมองเป็น command…

[C#] กำหนดให้โปรแกรมของเรา Run As Administrator

C# Logo

ในบางครั้งเราต้องเขียนโปรแกรมเพื่อจัดการข้อมูลที่สำคัญ และต้องมีสิทธิในการแก้ไข เช่น Registry หรือ ไฟล์ของระบบของ Windows เป็นต้น ซึ่งสิทธิที่ใช้ในการจัดการนี้ คือ Administrator นั้นเอง ปกติแล้วเราจะคลิกขวาแล้วให้โปรแกรม Run As Administrator คราวๆนี้ ถ้าเราพัฒนาโปรแกรมขึ้นมา แล้วให้รันเป็น Administrator โดยมีวิธีการ ดังนี้

[C#] Windows OEM Information Editor (WorkShop)

C# Logo

จากบทความทั้งสามบทความ หลายคนคงงง และไม่รู้จะเริ่มต้นอย่างไร วันนี้ผมมีตัวอย่างโปรแกรมมาทำเป็น Workshop กันครับ เป็นโปรแกรมที่ใช้เพิ่ม หรือแก้ไขข้อมูล OEM ของ Windows นะครับ OEM คือ อะไร Windows OEM คือ อะไร ปกติแล้วข้อมูล OEM เก็บอยู่ที่ไหน HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\OEMInformation ข้อมูล OEMInformation Registry Value คำอธิบาย Manufacturer ชื่อผู้ผลิต Model รุ่น SupportPhone เบอร์โทรศัพท์ Support SupportURL URL ของบริษัท SupportHours…

[C#] อ่าน/เขียน Registry ตอนที่ 3 (จัดการ Registry Value)

C# Logo

จากบทความที่สอง เราได้เห็นตัวอย่างการจัดการ Keys และ Subkeys กันแล้ว ต่อไปบทความนี้สอนการใช้งานจริง โดยผมได้เพิ่มคำสั่งที่จำเป็นเพิ่มเติม เพื่อการทำงานที่มีประสิทธิภาพมากยิ่งขึ้น โดยผมได้แยกกรณีที่จำเป็นต้องใช้ ดังนี้ กรณีที่ 1 : อ่าน Value จาก Registry โดยมีขั้นตอนการทำงาน กรณีที่ 2 : เขียน Value และสร้าง Value โดยมีขั้นตอนการทำงาน กรณีที่ 3 : ลบ Value โดยมีขั้นตอนการทำงาน