Перейти к содержанию

не записывается handle C#


Рекомендуемые сообщения

Всем привет,

 

Сижу я такой учусь программировать трейнер на C# по видео урокам и статьям

 

всё шло норм, 

 

всё делаю по шагам

 

записал в переменную   pID    значение  process.Id

 

Далее пытаюсь записать новую переменную handle

 

по описанию

 

[DllImport("kernel32.dll")]
        public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

 

var handle = OpenProcess(0x001F0FFF, false, pID);

 

но она не записывается(

 

уже третий день на этой проблеме завис,

Буду очень благодарен если поможете

 

Скрытый текст

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace CSharpTrainer
{
    public partial class Form1 : Form
    {

        [DllImport("kernel32.dll")]
        public static extern IntPtr OpenProcess(
  int dwDesiredAccess,
  bool bInheritHandle,
  int dwProcessId
);


        [DllImport("kernel32.dll", SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool CloseHandle(IntPtr hObject);

        public int pID;
        

        public Form1()
        {
            InitializeComponent();
            GetProcess("Tutorial-i386");
            var handle = OpenProcess(0x001F0FFF, false, pID);
            CloseHandle(handle);

        }



        public void GetProcess(string name)
        {
            var pList = Process.GetProcesses();
            if (pList.Count() != 0)
            {
                foreach (var process in pList)
                {
                    if (process.ProcessName == name)
                    {
                        pID = process.Id;
                        MessageBox.Show("Процесс найден");
                        return;

                    }
                }
                
            }
            return;
        }
    }
}

 

 

Скрытый текст

tSOoX3r.png

Изменено пользователем Xipho
Картинки и код у нас принято оборачивать тегом спойлера.
Ссылка на комментарий
Поделиться на другие сайты

public int pID;

---> public static int pID;
Еще возможно не правильно делаешь отладку, просто попробуй поставь msgbox после открытия хэндла процесса. 
Ну и да, запусти студию от админа.

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Xipho сказал:

От админа запускай студию и тогда отладка тоже будет с административными правами. Должно сработать.

 

Спасибо!!! помогло, 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.