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

Проблема с процессом [C#]


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

Всем привет, использую либу VAMemory.
Делаю так - 

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

VAMemory VAM;

VAM = new VAMemory("Тут название процесса без .exe");
var address = Тут адрес.;
byte[] bytesMoney = { Ну тут я писал количество. };
VAM.WriteByteArray((IntPtr)address, bytesMoney);

 

Но, выскакивало сообщение "prj1 is not running or has not been found. Please check and try again".
Хотя процесс запущен, почему такое происходит?

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

Честно говоря, вообще не как, ибо на всех уроках по взаимодействию с процессом, на уроках все у всех получалось, непонятно почему так тут...

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

Какую версию библиотеки ты используешь? Я нашел метод "CheckProcess", который стоит вызвать сразу после инициализации (после строки new VAMemory). "Prj1" при этом - это название процесса или что-то другое?

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

Так. Во-первых, WriteByteArray используется скорее для перезаписи кода, т.к. как раз тут удобнее всего использовать массив байт. В твоем случае, как мне кажется, проще было бы использовать WriteInt или WriteFloat. Во-вторых, твоей программе может не хватать прав для корректной работы, так что если ты запускаешь ее из Visual Studio, то запускай всю Visual Studio от имени администратора. Если просто готовый ехе-файл, то так же - от администратора. Попробуй проверить это в первую очередь, т.к. это самое простое и быстрое возможное решение.

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

Кстати, хотел спросить, из этого видео -  https://www.youtube.com/watch?v=djnF4Z-IiyE после закрытия программы в лог пишет это - " Вызвано исключение: "System.NullReferenceException" в Memory.dll ". В чем может быть проблема?

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

Just now, Shurik said:

Кстати, хотел спросить, из этого видео -  https://www.youtube.com/watch?v=djnF4Z-IiyE после закрытия программы в лог пишет это - " Вызвано исключение: "System.NullReferenceException" в Memory.dll ". В чем может быть проблема?

Без использования отладчика - в том, что какая-то переменная в коде имела значение null и с ней пытались что-то сделать, думая что там будет не null.

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

19 час назад, Shurik сказал:

А как исправить?Просто не совсем догоняю...

Суть довольно простая, но лучше всего понимается на практике. Отладчик позволяет приостанавливать выполнение программы и смотреть на то, как она работает, пошагово. А так же - на значения переменных. Вот картинка с примером:

 

18_BreakpointHit_small.jpg

 

Красный кружок слева от кода - это так называемая точка останова (или breakpoint). На эти штуки и ориентируется отладчик, когда работает. Увидит такую - и остановит дальнейшее выполнение программы. Желтая стрелка внутри кружочка - это место, где как раз выполнение программы и остановилось. После остановки можно жать вот на эти вот кнопки:

Debug1.png

http://www.whatprogramming.com/csharp/wp-content/uploads/2015/08/Debug1.png

 

И выполнять дальше код по шагам. "Step over" - без входа "внутрь" других функций, перепрыгивая их вызовы, "step into" - залезая внутрь каждой встреченной функции или метода. Точки останова ставятся или удаляются просто кликом мыши. Можешь попробовать и проверить, что получится.

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

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

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

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