Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Studentka_94
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 23
#1

Как узнать откуда запущена прога?

23.05.2013, 14:15. Просмотров 523. Ответов 2
Метки нет (Все метки)

напишите пожалуйста код ассемблерной вставки для делфи, например функцию, определяющую откуда запущена программа

Добавлено через 15 минут
Format of environment block:

Offset Size Description
00h N BYTEs first environment variable, ASCIZ string of form "var=value"
N BYTEs second environment variable, ASCIZ string
...
N BYTEs last environment variable, ASCIZ string of form "var=value"
BYTE 00h
---DOS 3.0+ ---
WORD number of strings following environment (normally 1)
N BYTEs ASCIZ full pathname of program owning this environment
other strings may follow
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2013, 14:15
Ответы с готовыми решениями:

Скажите почему прога зависает. Не пойму. Прога имитирует входной потол: пользователь вводит предложение которое сохраняется в буфер.
STAK SEGMENT STACK db 256 dup(?) STAK ENDS DATA SEGMENT buf db 256d...

Assembler прога как внешняя прцедура в С, С++
Как применить программульку на ASSembler в нутри программы на С, С++ в среде...

Как определить папку, откуда запущена программа
Может хоть на это кто ответит?:) Пробовал гуглить на тему startup path winapi,...

Как получить путь откуда была запущена программа?
GetCurrentDir может не то вернуть...

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

2
Mikl___
Автор FAQ
11736 / 6047 / 544
Регистрация: 11.11.2010
Сообщений: 11,029
24.05.2013, 05:16 #2
Studentka_94,
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function GetAllEnvVars(const Vars: TStrings): Integer;
var
  PEnvVars: PChar;    // pointer to start of environment block
  PEnvEntry: PChar;   // pointer to an env string in block
begin
  // Clear the list
  if Assigned(Vars) then
    Vars.Clear;
  // Get reference to environment block for this process
  PEnvVars := GetEnvironmentStrings;
  if PEnvVars <> nil then
  begin
    // We have a block: extract strings from it
    // Env strings are #0 separated and list ends with #0#0
    PEnvEntry := PEnvVars;
    try
      while PEnvEntry^ <> #0 do
      begin
        if Assigned(Vars) then
          Vars.Add(PEnvEntry);
        Inc(PEnvEntry, StrLen(PEnvEntry) + 1);
      end;
      // Calculate length of block
      Result := (PEnvEntry - PEnvVars) + 1;
    finally
      // Dispose of the memory block
      Windows.FreeEnvironmentStrings(PEnvVars);
    end;
  end
  else
    // No block => zero length
    Result := 0;
end;
0
Studentka_94
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 23
27.05.2013, 14:05  [ТС] #3
А в ассемблере?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2013, 14:05

Как узнать какая система запущена
Подскажите, как мне сделать так чтоб программа определяла какая система (хр, 7)...

Как узнать на каком устройстве запущена программа
Как узнать на каком устройстве запущена программа, то есть например iPhone 4...

Как узнать, сколько раз была запущена программа?
В программу встроена авторизация, авторизация одна для всех пользователей....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru