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

[Asm] Как Выполнить Консольную Команду


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

При чём сдесь ShellExecute? Выполните мне msg * HELLO с помощью ShellExecute

Ну, если что, msg - это не команда, а [приложение] . Задротный вариант - найти аналог под Linux, взять сорцы, переписать себе. Не очень задротный - искать в папке Windows эту прогу и запускать из своей с нужными аргументами.

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

Ну, если что, msg - это не команда, а [приложение]

О.О Спасибо)) Оказывается нужна мне "команда" на самом деле и была приложением)))))

А как запустить файл с параметрами?

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

ShellExecute! :D

А что у меня за глюк?


library kernel,'KERNEL32.DLL',\
user,'USER32.DLL',\
gdi,'GDI32.DLL'
import shell32,\
ShellExecute,'ShellExecuteA'
import kernel,\
GetModuleHandle,'GetModuleHandleA',\
ExitProcess,'ExitProcess';,\
import user,\
DialogBoxParam,'DialogBoxParamA',\
SendMessage,'SendMessageA',\
EndDialog,'EndDialog',\
SetTimer, 'SetTimer',\
MessageBox, 'MessageBoxA',\
GetAsyncKeyState, 'GetAsyncKeyState',\
EnumDisplaySettings,'EnumDisplaySettingsA',\
ChangeDisplaySettings,'ChangeDisplaySettingsA'
import gdi,\
Rectangle,'Rectangle'
		section '.idata' import data readable writeable

invoke ShellExecute,NULL,NULL,'cmd.exe','/C calc.exe',NULL,SW_HIDE

А он мне пишет error: undefined symbol 'ShellExecute'.

А такой маленький код работает о.о:


include '%fasm%/win32ax.inc'
section '.code' executable
start:
invoke ShellExecute,NULL,NULL,'cmd.exe','/C calc.exe',NULL,SW_HIDE
exit:
invoke ExitProcess,NULL

.end start

АААА [CENSORED], ступил))

Я же dll'ку не подключил

Надо так:

		section '.idata' import data readable writeable
library kernel,'KERNEL32.DLL',\
user,'USER32.DLL',\
shell32,'SHELL32.DLL',\
gdi,'GDI32.DLL'
import kernel,\
GetModuleHandle,'GetModuleHandleA',\
ExitProcess,'ExitProcess';,\
import user,\
DialogBoxParam,'DialogBoxParamA',\
SendMessage,'SendMessageA',\
EndDialog,'EndDialog',\
SetTimer, 'SetTimer',\
MessageBox, 'MessageBoxA',\
GetAsyncKeyState, 'GetAsyncKeyState',\
EnumDisplaySettings,'EnumDisplaySettingsA',\
ChangeDisplaySettings,'ChangeDisplaySettingsA'
import gdi,\
Rectangle,'Rectangle'
import shell32,\
ShellExecute,'ShellExecuteA'

Тему можно закрыть :)

От администратора:

Еще раз замечу, премод на недельку получишь.

//Kvazimado

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

По-секрету скажу, что msg.exe - это обёртка над вот [этим] . Гугл рулит! ;D

Я им просто не умею так как ты пользоваться :D

Нет правда, дело не в лени, мб я не правильно запрос формулирую?

В любом случае, я часто ищу всякий бред по 4 часа

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

  • 2 недели спустя...

Я им просто не умею так как ты пользоваться :D

Нет правда, дело не в лени, мб я не правильно запрос формулирую?

В любом случае, я часто ищу всякий бред по 4 часа

Ты MessageBox хочешь вывести или что?

Перечитал топик несколько раз, всё равно не понял о чём ты.

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

Ты MessageBox хочешь вывести или что?

Перечитал топик несколько раз, всё равно не понял о чём ты.

Да нет, надо было было выполнить одну консольную команду (не msg). Уже всё решил
Ссылка на комментарий
Поделиться на другие сайты

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

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

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