Author: suttipong.u

  • วิธี Install Windows Service (ที่เขียนด้วย VS.Net) ตัวเดียวกันมากกว่า 1 ครั้ง

    ปกติวิธี Install Windows Service ที่เขียนด้วย VS.Net เป็นดังนี้

    InstallUtil.exe MyService.exe

    และคำสั่ง Uninstall Windows Service ที่เขียนด้วย VS.Net เป็นดังนี้

    InstallUtil.exe /u MyService.exe

    อย่างเช่นมีไฟล์ Windows Service ชื่อ KillLoginSession โดยจะมีทั้ง file exe และ file config

    ไว้ใน folder C:\service1 ดังรูป

    เมื่อ run คำสั่งดังนี้

    %WINDIR%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe c:\service1\KillLoginSession.exe

    แล้วเปิด Services ของ Windows ขึ้นมา จะมี Service KillLoginSession ปรากฎดังรูป

    ซึ่ง Service ตัวนี้จะมี Properties ดังนี้

    คือมี Service name = KillLoginSessionService

    และมี Display name = ALIST Kill Login Session Service

    ถ้าต้องการติดตั้ง Service KillLoginSession เพิ่ม เพราะบางครั้งต้องการใช้ Service เดิมแต่ปรับแก้ค่าที่ config file

    ก็ทำการ copy Service KillLoginSession ไปไว้เพิ่มใน folder C:\service2 ดังรูป

    แล้ว run คำสั่ง

    %WINDIR%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe c:\service2\KillLoginSession.exe

    จะปรากฎ error ดังรูป

    คือมี service นี้ติดตั้งอยู่แล้ว

    วิธีแก้คือ ให้ใส่ code ดังนี้

    sc create <servicename> binpath= “<pathtobinaryexecutable>” [option1] [option2] [optionN]

    <servicename> คือ ชื่อ service ที่กำหนดขึ้นมาโดยต้องไม่ตรงกับ service ที่ทำงานอยู่

    <pathtobinaryexecutable> คือ ตำแหน่งที่ตั้งของ file service ที่จะทำการ Install

    [option] ไว้สำหรับใส่คำสั่งอย่างอื่นเพิ่ม เช่น Display Name จะมีหรือไม่มีก็ได้

    ใส่ code ตามข้างบนได้ดังนี้

    sc create KillLoginSessionTest binpath=”C:\service2\KillLoginSession.exe” DisplayName=”ALIST Kill Login Session Test”

    จะได้ผลดังรูป

    มี Properties ดังนี้

    คือมี Service name กับ Display name ตามที่ได้กำหนดไว้

    คำสั่งสำหรับ Uninstall ก็คือ

    sc delete <servicename>

    ถ้าต้องการ Uninstall Service ที่สร้างขึ้นก็ใส่ code ดังนี้

    sc delete KillLoginSessionTest

  • การใช้งาน touchpad ใน windows 10

    การใช้งาน touchpad ใน windows 10 มีดังนี้

    1. ใช้ 1 นิ้วกดที่ touchpad  การทำงานจะเหมือนกด mouse ด้านซ้าย

    ถ้ากด 1 ครั้ง จะเป็นการเลือกไฟล์หรือกดปุ่มคำสั่งที่ cursor ชี้อยู่เวลานั้น

    ถ้ากด 2 ครั้ง จะเป็นการเปิดไฟล์หรือเปิดโปรแกรม

    2. ใช้ 1 นิ้วกดที่ touchpad  2 ครั้งค้างไว้แล้วลาก  การทำงานจะเหมือนกด mouse ด้านซ้ายค้างไว้แล้วเลื่อน mouse

    เป็นการเลื่อนไฟล์ที่เลือกไปตำแหน่งอื่น หรือ เป็นการเลือกไฟล์แบบคลุม หรือใช้เลื่อน scroll bar

    3. ใช้ 2 นิ้วกดที่ touchpad  1 ครั้ง การทำงานจะเหมือนกด mouse ด้านขวา

    เป็นการแสดงคำสั่งอื่นๆ

    4. ใช้ 2 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วกางออกหรือหุบเข้า

    เป็นการทำ Zoom in , Zoom out

    5. ใช้ 2 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วเลื่อนขึ้นลง

    เป็นการเลื่อนหน้าจอขึ้นลง

    6. ใช้ 3 นิ้วกดที่ touchpad  1 ครั้ง

    เป็นการเปิดปุ่ม search

    7. ใช้ 3 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วลากขึ้น

    เป็นการเปิด task view

    8. ใช้ 3 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วลากลง

    เป็นการแสดงหน้า desktop

    9. ใช้ 3 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วลากไปทางซ้ายหรือขวา

    เป็นการสลับโปรแกรมที่เปิดใช้งานอยู่

    10. ใช้ 4 นิ้วกดที่ touchpad  1 ครั้ง

    เป็นการเปิด Action Center

    11. ใช้ 4 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วลากไปทางซ้ายหรือขวา

    เป็นการเลือกหน้า Desktop ที่เปิดอยู่

    ถ้าต้องการปิดการใช้งาน touchpad ขณะเสียบ mouse ให้ทำดังนี้

    1. เปิด windows setting แล้วเลือก Devices

    2. เลือก Touchpad แล้วเอาเครื่องหมายถูกหน้าข้อความ “Leave touchpad on when a mouse is connected” ออก

  • วิธีทำให้ตั้ง password ใน windows server ได้ตามที่ต้องการ

    เมื่อ create user ใหม่ใน windows server เราจะต้องตั้ง password ตามกฏที่ windows server กำหนดมาให้
    ถ้าตั้งไม่ตรงตามกฎ windows server จะไม่ยอมให้สร้าง user
    อย่างเช่นสร้าง user ชื่อ sysadmin แล้วตั้ง password ว่า sysadmin123
    จะไม่สามารถสร้าง user ได้ ซึ่งจะมี error ขึ้นดังรูป

    วิธีแก้ให้สามารถตั้ง password ได้ตามที่ต้องการมีดังนี้

    1. ที่หน้า Desktop ของ windows Server ให้ไปที่ปุ่มค้นหา(รูปแว่นขยาย) ตรง taskbar แล้วพิมพ์  gpedit.msc แล้วกดปุ่ม Enter ที่ keyboard
    • ให้เลือกตามลำดับดังนี้ Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy.
    • Double click ที่ Password must meet complexity requirements
    • ให้เปลี่ยนจาก Enabled เป็น Disabled แล้วกด OK
    • ลองสร้าง user ใหม่อีกที โดยตั้งชื่อเป็น sysadmin แล้วตั้ง password ว่า sysadmin123

    จะเห็นว่าสามารถสร้าง user ได้แล้ว

  • เขียน code ส่ง Line Notify ด้วย C#

    เริ่มต้นต้องประกาศ Using ก่อน ดังนี้

    using System.Net;
    using System.IO;

    แล้วใส่ code ตามด้านล่างนี้

    private void LineNotify(string lineToken, string message)
    {
            try
            {
                string message = System.Web.HttpUtility.UrlEncode(message, Encoding.UTF8);
                var request = (HttpWebRequest)WebRequest.Create("https://notify-api.line.me/api/notify");
                var postData = string.Format("message={0}", message);            
                var data = Encoding.UTF8.GetBytes(postData);            
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = data.Length;
                request.Headers.Add("Authorization", "Bearer " + lineToken);
                var stream = request.GetRequestStream();
                stream.Write(data, 0, data.Length);
                var response = (HttpWebResponse)request.GetResponse();
                var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

    พารามิเตอร์ที่ต้องส่งมีดังนี้

    lineToken วิธีการขอ Line Token ดูได้จากบทความ การส่ง Line Notify ด้วย Command Line

    message คือข้อความที่ต้องการจะส่งผ่าน Line Notify

    ในการทดสอบฟังก์ชันหรือใช้งานฟังก์ชันนี้เครื่องคอมพิวเตอร์ต้องทำการต่อ internet ด้วยถึงจะทำงานได้

    ตัวอย่างการเรียกใช้ฟังก์ชัน

    LineNotify(“DwNQ7NQxrG8wgEaoUKvjgWKh1n08rxxxxxx”,”Hello World” );

    ผลที่ได้

    ถ้าหากต้องการให้ส่ง sticker หรือ รูปภาพไปด้วยให้ใส่ code ตามด้านล่างนี้

    private void LineNotify(string lineToken, string message , int stickerPackageID, int stickerID, string pictureUrl)
    {
            try
            {
                string message = System.Web.HttpUtility.UrlEncode(message, Encoding.UTF8);
                var request = (HttpWebRequest)WebRequest.Create("https://notify-api.line.me/api/notify");
                var postData = string.Format("message={0}", message); 
                if (stickerPackageID > 0 && stickerID > 0)
                    {
                        var stickerPackageId = string.Format("stickerPackageId={0}", stickerPackageID);
                        var stickerId = string.Format("stickerId={0}", stickerID);
                        postData += "&" + stickerPackageId.ToString() + "&" + stickerId.ToString();
                    }
                if (pictureUrl != "")
                    {
                        var imageThumbnail = string.Format("imageThumbnail={0}", pictureUrl);
                        var imageFullsize = string.Format("imageFullsize={0}", pictureUrl);
                        postData += "&" + imageThumbnail.ToString() + "&" + imageFullsize.ToString();
                    }           
                var data = Encoding.UTF8.GetBytes(postData);            
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = data.Length;
                request.Headers.Add("Authorization", "Bearer " + lineToken);
                var stream = request.GetRequestStream();
                stream.Write(data, 0, data.Length);
                var response = (HttpWebResponse)request.GetResponse();
                var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

    พารามิเตอร์ที่ต้องส่งมีดังนี้

    lineToken วิธีการขอ Line Token ดูได้จากบทความ การส่ง Line Notify ด้วย Command Line

    message คือข้อความที่ต้องการจะส่งผ่าน Line Notify

    stickerPackageID กับ stickerID ดูได้จาก sticker_list

    pictureUrl คือ url ของรูปภาพที่ต้องการจะส่งผ่าน Line Notify

    ตัวอย่างการเรียกใช้ฟังก์ชัน

    LineNotify(“DwNQ7NQxrG8wgEaoUKvjgWKh1n08rxxxxxx”,”สวัสดีชาวโลก” , 1 , 10 , “https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png”);

    ผลที่ได้

  • การตั้งค่า TeamViewer ให้ Remote ด้วย IP Address

    การตั้งค่า TeamViewer ให้ remote ด้วย IP Address จะช่วยให้เราจดจำ ID ได้ง่ายขึ้น และ ไม่จำเป็นต้อง remote ผ่าน Internet แต่ต้องเป็นเครื่องที่อยู่ใน network เดียวกัน มีวิธีการตั้งค่าดังนี้

    1. เปิดโปรแกรม TeamViewer แล้วกดที่เมนู Extras

    2 กดที่ Options

    3. ที่ Incoming LAN connections ให้เลือกเป็น accept หรือ accept exclusively

    • accept จะสามารถใช้ได้ทั้ง LAN และ Internet
    • accept exclusively ใช้ได้แค่ LAN เท่านั้น

    เสร็จแล้วให้กดปุ่ม OK

    ถ้าเลือกเป็น accept ตรง Your ID จะแสดงเป็นตัวเลขแบบปกติ ซึ่งจะ remote โดยใช้ตัวเลข Your ID ก็ได้ หรือจะ remote ด้วย IP Address ก็ได้ถ้าอยู่ใน network เดียวกัน

    ถ้าเลือกเป็น accept exclusively ตรง Your ID จะแสดงเป็นเลข IP Address ซึ่งจะ remote โดยใช้ IP Address ได้อย่างเดียวเท่านั้นและต้องอยู่ใน network เดียวกันด้วย

  • วิธีการส่ง Line Notify เมื่อมีการเปิดคอมพิวเตอร์

    เริ่มจากต้องทำการขอ Line Token ซึ่งดูได้จากบทความ การส่ง Line Notify ด้วย Command Line

    จากนั้นให้สร้าง bat file โดยเปิด notepad แล้วใส่คำสั่ง command line ดังนี้

    curl -X POST -H “Authorization: Bearer Token” -F “message=XXX” https://notify-api.line.me/api/notify

    โดยที่ตัวอักษรสีแดงให้ทำการแทนที่ดังนี้
    Token แทนที่ด้วย Line Token ที่ขอไว้ตอนต้น
    XXX แทนที่ด้วย ข้อความที่ต้องการส่ง

    แล้วให้ save file ด้วยนามสกุล .bat

    เปิด Task Scheduler ขึ้นมา แล้วกดที่ Create Task

    ใส่ชื่อ task ที่ช่อง Name

    กดที่tab Triggers แล้วกดปุ่ม New

    ที่ Begin the task เลือกเป็น At startup

    ติ๊กที่ Delay task for แล้วเลือกเป็น 1 minute แล้วกดปุ่ม OK

    จะได้ผลดังรูป

    กดที่tab Actions แล้วกดปุ่ม New

    กดปุ่ม browse เลือก file bat ที่สร้างไว้ตอนต้น แล้วกดปุ่ม OK

    กดที่tab Conditions

    ตรงส่วนของ Network ให้ติ๊กหน้า Start only if the following network connection is available

    กดปุ่ม OK

    กดที่ปุ่ม OK อีกครั้งตามรูป

    จะมี task ที่สร้างขึ้นปรากฏดังรูป

    เมื่อมีการ start computer จะมีข้อความส่งไปทาง Line ดังรูป

  • การส่ง Line Notify ด้วย Command Line

    ถ้าจะส่ง Line Notify ต้องมี Line Token ก่อน ซึ่งมีวิธีการขอดังนี้
    1. เข้าไปยังwebsite https://notify-bot.line.me/my/
    2. Login ด้วย LINE Account
    3. คลิกที่ปุ่ม Generate token

    4. ตั้งชื่อ Line ที่จะแสดงตอนแจ้งเตือน ในช่องตามรูป

    5. เลือกว่าจะ Notify ไปที่ group ใด ซึ่ง group ที่เราเลือกจะเป็นสีเขียว แล้วให้กดปุ่ม Generate Token

    6. จะได้ Line Token มาดังรูป

    หลังจากได้ Line Token แล้ว ให้เราเปิดโปรแกรม Command Promt ขึ้นมา โดยถ้าเป็น windows10 ให้กดที่รูปแว่นขยายที่ taskbar แล้วพิมพ์ Command Promt แล้วกดที่ปุ่ม open ทางด้านขวา

    จะมีโปรแกรมปรากฎดังรูป

    ให้ใส่ข้อความดังนี้

    curl -X POST -H “Authorization: Bearer Token” -F “message=XXX” https://notify-api.line.me/api/notify

    โดยที่ตัวอักษรสีแดงให้ทำการแทนที่ดังนี้
    Token แทนที่ด้วย Line Token ที่ขอไว้ตอนต้น
    XXX แทนที่ด้วย ข้อความที่ต้องการส่ง

    เมื่อใส่ข้อความเสร็จแล้วให้กด Enter

    ถ้าส่งข้อความสำเร็จโปรแกรม Command Promt จะขึ้นดังรูป

    แล้วที่ Line ก็จะได้รับข้อความดังรูป