Вызов NT функционирует в системе pre-NT

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

function fetchTime() {
  var today = new Date();
  today.setMonth(today.getMonth() - 1);
  var dd = today.getDate();
  var mm = today.getMonth() + 1;
  var yyyy = today.getFullYear();
  if (dd < 10) {
    dd = '0' + dd;
  }
  if (mm < 10) {
    mm = '0' + mm;
  }
  var today = yyyy + '-' + mm + '-' + dd;
  return (today);
}
6
задан secondtruth 5 February 2013 в 17:17
поделиться

3 ответа

Если Вы вызовете функции непосредственно, то Ваша программа не загрузится на Win98.

То, что можно сделать, использовать LoadLibrary() / GetProcAddress() получить указатель на GetFileTime() / SetFileTime(). На Win98 это перестанет работать, давая Вам нулевую подсказку, на которую можно протестировать и проигнорировать. На 2000 и позже Вы получите указатель, который можно затем использовать.

Это - боль, но это - единственное решение, о котором я знаю.

Вот пример получения функции UpdateLayeredWindow, если это существует:

typedef BOOL (WINAPI* UpdateLayeredWinFunc) (HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF, BLENDFUNCTION*, DWORD);

UpdateLayeredWinFunc updateLayeredWindow = 0;
HMODULE user32Mod = GetModuleHandle (_T("user32.dll"));
updateLayeredWindow = (UpdateLayeredWinFunc) GetProcAddress (user32Mod, "UpdateLayeredWindow");
8
ответ дан 16 December 2019 в 21:47
поделиться

Я полагаю, что Вы добираетесь, сообщение об ошибке вроде "Точки входа процедуры (имя) не могло быть расположено в (dll)", подобный th один показанный:

пример http://img266.imageshack.us/img266/3762/error2pm1.png

0
ответ дан 16 December 2019 в 21:47
поделиться

Вы могли звонить FindFirstFile() вместо GetFileTime(). Я не знал бы альтернативу для SetFileTime(),все же.

0
ответ дан 16 December 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: