ShellExecute не открывает файл
Участников: 4
Страница 1 из 1
ShellExecute не открывает файл
Собственно проблема в теме.
набиваю к примеру:
#include "windows.bi"
ShellExecute (nil, nil, "notepad.exe", nill, nil, SW_RESTORE)
И выдает ошибку:
FbTemp.bas(452) error 41: Variable not declared, ShellExecute in 'ShellExecute (nil, nil, "hh.exe", nil, nil, SW_RESTORE)'
Возможно ошибка в синтаксисе, или что-то пропустил. Но как именно нужно?
Пробовал уже по всякому...(((
набиваю к примеру:
#include "windows.bi"
ShellExecute (nil, nil, "notepad.exe", nill, nil, SW_RESTORE)
И выдает ошибку:
FbTemp.bas(452) error 41: Variable not declared, ShellExecute in 'ShellExecute (nil, nil, "hh.exe", nil, nil, SW_RESTORE)'
Возможно ошибка в синтаксисе, или что-то пропустил. Но как именно нужно?
Пробовал уже по всякому...(((
Re: ShellExecute не открывает файл
Я сейчас точно не помню.
Попробуй первым или скорее вторым параметром передать указатель на строку
"open".
Это для открытия файла, например txt, блокнотом.
Или doc вордом.
А можно послать на печать, передав строку
"print".
Для урлов тоже
"open".
Ещё какие-то были параметры, но я не помню.
А с NULL там чего-то было хитрое, но опять же...
У Фроловых глянь.
А вообще, эта функция устарела.
Рекомендуют использовать
CreateProcess(), но я так и не вкурил, как её применять.
Попробуй первым или скорее вторым параметром передать указатель на строку
"open".
Это для открытия файла, например txt, блокнотом.
Или doc вордом.
А можно послать на печать, передав строку
"print".
Для урлов тоже
"open".
Ещё какие-то были параметры, но я не помню.
А с NULL там чего-то было хитрое, но опять же...
У Фроловых глянь.
А вообще, эта функция устарела.
Рекомендуют использовать
CreateProcess(), но я так и не вкурил, как её применять.
Re: ShellExecute не открывает файл
Ах, да. Вот нашол у себя код. Попробуй.
Должно сработать.
- Код:
dim file_name as string
dim exec_as as string
file_name = "http://freebasic.net/"
exec_as = "open"
ShellExecuteA( NULL, _
strptr(exec_as), _
strptr(file_name), _
NULL, NULL, SW_SHOWNORMAL )
Должно сработать.
Re: ShellExecute не открывает файл
Спасибо большое! Но я разобрался в чем было дело.)))
Надо было:
#include "windows.bi"
#include "shellapi.bi"
ShellExecute (NULL,null,"notepad.exe",null,null, SW_SHOW)
И еще надо было скинуть файлик shellapi.bi в папку с разрабатываемой программой)))
Надо было:
#include "windows.bi"
#include "shellapi.bi"
ShellExecute (NULL,null,"notepad.exe",null,null, SW_SHOW)
И еще надо было скинуть файлик shellapi.bi в папку с разрабатываемой программой)))
Re: ShellExecute не открывает файл
Скинуть файлик? Это уже какой-то изврат. Видать глючит где-то. Такого не должно быть. Он должен вызываться из "windows.bi".
А про "open" и NULL, там надо смотреть, потому что у меня NULL не сработал, а "open" сработал.
В прочем это я на MinGW делал.
А про "open" и NULL, там надо смотреть, потому что у меня NULL не сработал, а "open" сработал.
В прочем это я на MinGW делал.
Re: ShellExecute не открывает файл
shelapi.bi? кидать ненадо. просто нужно написать так:
- Код:
#define WIN_INCLUDEALL
#include "windows.bi"
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
Re: ShellExecute не открывает файл
ни чего странного
файл windows.bi
если декларировать сразу все заголовки, это не повлияет на размер бинарника, просто замедлит скорость компиляции. вот они и сделали, самое самое, а там уж, если надо пиши
#define WIN_INCLUDEALL
файл windows.bi
- Код:
''
#ifndef __windows_bi__
#define __windows_bi__
#define _X86_
#include once "win/windef.bi"
#include once "win/wincon.bi"
#include once "win/winbase.bi"
#include once "win/wingdi.bi"
#include once "win/winuser.bi"
#include once "win/winnls.bi"
#include once "win/winver.bi"
#include once "win/winnetwk.bi"
#include once "win/winreg.bi"
#include once "win/winsvc.bi"
#ifdef WIN_INCLUDEALL
# include once "win/cderr.bi"
# include once "win/dde.bi"
# include once "win/ddeml.bi"
# include once "win/dlgs.bi"
# include once "win/imm.bi"
# include once "win/lzexpand.bi"
# include once "win/mmsystem.bi"
# include once "win/nb30.bi"
# include once "win/rpc.bi"
# include once "win/shellapi.bi"
# include once "win/winperf.bi"
# include once "win/commdlg.bi"
# include once "win/winspool.bi"
# if defined(__USE_W32_SOCKETS)
# include once "win/winsock2.bi"
# endif
# include once "win/ole2.bi"
#endif
#endif
если декларировать сразу все заголовки, это не повлияет на размер бинарника, просто замедлит скорость компиляции. вот они и сделали, самое самое, а там уж, если надо пиши
#define WIN_INCLUDEALL
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
Re: ShellExecute не открывает файл
Electric, спасибо. #define WIN_INCLUDEALL действительно все решает.
Re: ShellExecute не открывает файл
Правильно! nil - это в Дельфи
vbman- Сообщения : 52
Дата регистрации : 2008-11-19
Возраст : 42
Откуда : Украина, Кировоград
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|