mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 23:39:31 +02:00
new winunits packages
This commit is contained in:
parent
2326c2b62f
commit
676e194eea
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Don't edit, this file is generated by FPCMake Version 1.9.8 [2005/02/09]
|
||||
# Don't edit, this file is generated by FPCMake Version 1.9.8 [2005/03/28]
|
||||
#
|
||||
default: all
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd arm-linux
|
||||
@ -237,7 +237,7 @@ ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_DIRS+=unzip
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_DIRS+=unzip opengl gtk gtk2 zlib mmsystem tcl cdrom fpgtk winver
|
||||
override TARGET_DIRS+=unzip opengl gtk gtk2 zlib tcl cdrom fpgtk winunits
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_DIRS+=os2units rexx unzip zlib x11 gtk libpng tcl imlib fpgtk
|
||||
@ -1026,7 +1026,7 @@ export UPXPROG
|
||||
ZIPOPT=-9
|
||||
ZIPEXT=.zip
|
||||
ifeq ($(USETAR),bz2)
|
||||
TAROPT=vI
|
||||
TAROPT=vj
|
||||
TAREXT=.tar.bz2
|
||||
else
|
||||
TAROPT=vz
|
||||
@ -1372,11 +1372,10 @@ TARGET_DIRS_OPENGL=1
|
||||
TARGET_DIRS_GTK=1
|
||||
TARGET_DIRS_GTK2=1
|
||||
TARGET_DIRS_ZLIB=1
|
||||
TARGET_DIRS_MMSYSTEM=1
|
||||
TARGET_DIRS_TCL=1
|
||||
TARGET_DIRS_CDROM=1
|
||||
TARGET_DIRS_FPGTK=1
|
||||
TARGET_DIRS_WINVER=1
|
||||
TARGET_DIRS_WINUNITS=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
TARGET_DIRS_OS2UNITS=1
|
||||
@ -2789,95 +2788,50 @@ newt:
|
||||
$(MAKE) -C newt all
|
||||
.PHONY: newt_all newt_debug newt_smart newt_release newt_units newt_examples newt_shared newt_install newt_sourceinstall newt_exampleinstall newt_distinstall newt_zipinstall newt_zipsourceinstall newt_zipexampleinstall newt_zipdistinstall newt_clean newt_distclean newt_cleanall newt_info newt_makefiles newt
|
||||
endif
|
||||
ifdef TARGET_DIRS_MMSYSTEM
|
||||
mmsystem_all:
|
||||
$(MAKE) -C mmsystem all
|
||||
mmsystem_debug:
|
||||
$(MAKE) -C mmsystem debug
|
||||
mmsystem_smart:
|
||||
$(MAKE) -C mmsystem smart
|
||||
mmsystem_release:
|
||||
$(MAKE) -C mmsystem release
|
||||
mmsystem_units:
|
||||
$(MAKE) -C mmsystem units
|
||||
mmsystem_examples:
|
||||
$(MAKE) -C mmsystem examples
|
||||
mmsystem_shared:
|
||||
$(MAKE) -C mmsystem shared
|
||||
mmsystem_install:
|
||||
$(MAKE) -C mmsystem install
|
||||
mmsystem_sourceinstall:
|
||||
$(MAKE) -C mmsystem sourceinstall
|
||||
mmsystem_exampleinstall:
|
||||
$(MAKE) -C mmsystem exampleinstall
|
||||
mmsystem_distinstall:
|
||||
$(MAKE) -C mmsystem distinstall
|
||||
mmsystem_zipinstall:
|
||||
$(MAKE) -C mmsystem zipinstall
|
||||
mmsystem_zipsourceinstall:
|
||||
$(MAKE) -C mmsystem zipsourceinstall
|
||||
mmsystem_zipexampleinstall:
|
||||
$(MAKE) -C mmsystem zipexampleinstall
|
||||
mmsystem_zipdistinstall:
|
||||
$(MAKE) -C mmsystem zipdistinstall
|
||||
mmsystem_clean:
|
||||
$(MAKE) -C mmsystem clean
|
||||
mmsystem_distclean:
|
||||
$(MAKE) -C mmsystem distclean
|
||||
mmsystem_cleanall:
|
||||
$(MAKE) -C mmsystem cleanall
|
||||
mmsystem_info:
|
||||
$(MAKE) -C mmsystem info
|
||||
mmsystem_makefiles:
|
||||
$(MAKE) -C mmsystem makefiles
|
||||
mmsystem:
|
||||
$(MAKE) -C mmsystem all
|
||||
.PHONY: mmsystem_all mmsystem_debug mmsystem_smart mmsystem_release mmsystem_units mmsystem_examples mmsystem_shared mmsystem_install mmsystem_sourceinstall mmsystem_exampleinstall mmsystem_distinstall mmsystem_zipinstall mmsystem_zipsourceinstall mmsystem_zipexampleinstall mmsystem_zipdistinstall mmsystem_clean mmsystem_distclean mmsystem_cleanall mmsystem_info mmsystem_makefiles mmsystem
|
||||
endif
|
||||
ifdef TARGET_DIRS_WINVER
|
||||
winver_all:
|
||||
$(MAKE) -C winver all
|
||||
winver_debug:
|
||||
$(MAKE) -C winver debug
|
||||
winver_smart:
|
||||
$(MAKE) -C winver smart
|
||||
winver_release:
|
||||
$(MAKE) -C winver release
|
||||
winver_units:
|
||||
$(MAKE) -C winver units
|
||||
winver_examples:
|
||||
$(MAKE) -C winver examples
|
||||
winver_shared:
|
||||
$(MAKE) -C winver shared
|
||||
winver_install:
|
||||
$(MAKE) -C winver install
|
||||
winver_sourceinstall:
|
||||
$(MAKE) -C winver sourceinstall
|
||||
winver_exampleinstall:
|
||||
$(MAKE) -C winver exampleinstall
|
||||
winver_distinstall:
|
||||
$(MAKE) -C winver distinstall
|
||||
winver_zipinstall:
|
||||
$(MAKE) -C winver zipinstall
|
||||
winver_zipsourceinstall:
|
||||
$(MAKE) -C winver zipsourceinstall
|
||||
winver_zipexampleinstall:
|
||||
$(MAKE) -C winver zipexampleinstall
|
||||
winver_zipdistinstall:
|
||||
$(MAKE) -C winver zipdistinstall
|
||||
winver_clean:
|
||||
$(MAKE) -C winver clean
|
||||
winver_distclean:
|
||||
$(MAKE) -C winver distclean
|
||||
winver_cleanall:
|
||||
$(MAKE) -C winver cleanall
|
||||
winver_info:
|
||||
$(MAKE) -C winver info
|
||||
winver_makefiles:
|
||||
$(MAKE) -C winver makefiles
|
||||
winver:
|
||||
$(MAKE) -C winver all
|
||||
.PHONY: winver_all winver_debug winver_smart winver_release winver_units winver_examples winver_shared winver_install winver_sourceinstall winver_exampleinstall winver_distinstall winver_zipinstall winver_zipsourceinstall winver_zipexampleinstall winver_zipdistinstall winver_clean winver_distclean winver_cleanall winver_info winver_makefiles winver
|
||||
ifdef TARGET_DIRS_WINUNITS
|
||||
winunits_all:
|
||||
$(MAKE) -C winunits all
|
||||
winunits_debug:
|
||||
$(MAKE) -C winunits debug
|
||||
winunits_smart:
|
||||
$(MAKE) -C winunits smart
|
||||
winunits_release:
|
||||
$(MAKE) -C winunits release
|
||||
winunits_units:
|
||||
$(MAKE) -C winunits units
|
||||
winunits_examples:
|
||||
$(MAKE) -C winunits examples
|
||||
winunits_shared:
|
||||
$(MAKE) -C winunits shared
|
||||
winunits_install:
|
||||
$(MAKE) -C winunits install
|
||||
winunits_sourceinstall:
|
||||
$(MAKE) -C winunits sourceinstall
|
||||
winunits_exampleinstall:
|
||||
$(MAKE) -C winunits exampleinstall
|
||||
winunits_distinstall:
|
||||
$(MAKE) -C winunits distinstall
|
||||
winunits_zipinstall:
|
||||
$(MAKE) -C winunits zipinstall
|
||||
winunits_zipsourceinstall:
|
||||
$(MAKE) -C winunits zipsourceinstall
|
||||
winunits_zipexampleinstall:
|
||||
$(MAKE) -C winunits zipexampleinstall
|
||||
winunits_zipdistinstall:
|
||||
$(MAKE) -C winunits zipdistinstall
|
||||
winunits_clean:
|
||||
$(MAKE) -C winunits clean
|
||||
winunits_distclean:
|
||||
$(MAKE) -C winunits distclean
|
||||
winunits_cleanall:
|
||||
$(MAKE) -C winunits cleanall
|
||||
winunits_info:
|
||||
$(MAKE) -C winunits info
|
||||
winunits_makefiles:
|
||||
$(MAKE) -C winunits makefiles
|
||||
winunits:
|
||||
$(MAKE) -C winunits all
|
||||
.PHONY: winunits_all winunits_debug winunits_smart winunits_release winunits_units winunits_examples winunits_shared winunits_install winunits_sourceinstall winunits_exampleinstall winunits_distinstall winunits_zipinstall winunits_zipsourceinstall winunits_zipexampleinstall winunits_zipdistinstall winunits_clean winunits_distclean winunits_cleanall winunits_info winunits_makefiles winunits
|
||||
endif
|
||||
ifdef TARGET_DIRS_OS2UNITS
|
||||
os2units_all:
|
||||
|
@ -19,7 +19,7 @@ dirs_openbsd=unzip zlib \
|
||||
x11 opengl gtk syslog \
|
||||
forms svgalib ggi libpng libgd \
|
||||
utmp bfd gdbm ncurses fpgtk tcl imlib gnome1
|
||||
dirs_win32=unzip opengl gtk gtk2 zlib mmsystem tcl cdrom fpgtk winver
|
||||
dirs_win32=unzip opengl gtk gtk2 zlib tcl cdrom fpgtk winunits
|
||||
dirs_os2=os2units \
|
||||
rexx \
|
||||
unzip zlib \
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,17 +0,0 @@
|
||||
#
|
||||
# Makefile.fpc for CGI Units
|
||||
#
|
||||
|
||||
[package]
|
||||
name=mmsystem
|
||||
version=1.9.8
|
||||
|
||||
[target]
|
||||
units=mmsystem
|
||||
|
||||
[install]
|
||||
fpcpackage=y
|
||||
|
||||
[default]
|
||||
fpcdir=../../..
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Don't edit, this file is generated by FPCMake Version 1.9.8 [2005/02/09]
|
||||
# Don't edit, this file is generated by FPCMake Version 1.9.8 [2005/03/28]
|
||||
#
|
||||
default: all
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd arm-linux
|
||||
@ -230,205 +230,205 @@ ifeq ($(UNITSDIR),)
|
||||
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
|
||||
endif
|
||||
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
|
||||
override PACKAGE_NAME=winver
|
||||
override PACKAGE_NAME=winunits
|
||||
override PACKAGE_VERSION=1.9.8
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_UNITS+=winver
|
||||
override TARGET_UNITS+=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_EXAMPLES+=testver
|
||||
override TARGET_EXAMPLES+=examples
|
||||
endif
|
||||
override INSTALL_FPCPACKAGE=y
|
||||
ifdef REQUIRE_UNITSDIR
|
||||
@ -1153,7 +1153,7 @@ export UPXPROG
|
||||
ZIPOPT=-9
|
||||
ZIPEXT=.zip
|
||||
ifeq ($(USETAR),bz2)
|
||||
TAROPT=vI
|
||||
TAROPT=vj
|
||||
TAREXT=.tar.bz2
|
||||
else
|
||||
TAROPT=vz
|
17
packages/extra/winunits/Makefile.fpc
Normal file
17
packages/extra/winunits/Makefile.fpc
Normal file
@ -0,0 +1,17 @@
|
||||
#
|
||||
# Makefile.fpc for WinUnits
|
||||
#
|
||||
|
||||
[package]
|
||||
name=winunits
|
||||
version=1.9.8
|
||||
|
||||
[target]
|
||||
units=winver mmsystem comobj ole2 activex shellapi shlobj
|
||||
examples=examples
|
||||
|
||||
[install]
|
||||
fpcpackage=y
|
||||
|
||||
[default]
|
||||
fpcdir=../../..
|
2735
packages/extra/winunits/activex.pp
Normal file
2735
packages/extra/winunits/activex.pp
Normal file
File diff suppressed because it is too large
Load Diff
12330
packages/extra/winunits/commctrl.pp
Normal file
12330
packages/extra/winunits/commctrl.pp
Normal file
File diff suppressed because it is too large
Load Diff
88
packages/extra/winunits/comobj.pp
Normal file
88
packages/extra/winunits/comobj.pp
Normal file
@ -0,0 +1,88 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 2002 by Florian Klaempfl
|
||||
member of the Free Pascal development team.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
{$mode objfpc}
|
||||
{$H+}
|
||||
unit comobj;
|
||||
|
||||
interface
|
||||
|
||||
{$ifndef VER1_0}
|
||||
function CreateClassID : ansistring;
|
||||
|
||||
function CreateComObject(const ClassID: TGUID) : IUnknown;
|
||||
function CreateRemoteComObject(const MachineName : WideString;const ClassID : TGUID) : IUnknown;
|
||||
function CreateOleObject(const ClassName : string) : IDispatch;
|
||||
function GetActiveOleObject(const ClassName: string) : IDispatch;
|
||||
{$endif VER1_0}
|
||||
|
||||
implementation
|
||||
|
||||
{$ifndef VER1_0}
|
||||
uses
|
||||
windows,activex;
|
||||
|
||||
{$define FPC_COMOBJ_HAS_CREATE_CLASS_ID}
|
||||
function CreateClassID : ansistring;
|
||||
var
|
||||
ClassID : TCLSID;
|
||||
p : PWideChar;
|
||||
begin
|
||||
CoCreateGuid(ClassID);
|
||||
StringFromCLSID(ClassID,p);
|
||||
result:=p;
|
||||
CoTaskMemFree(p);
|
||||
end;
|
||||
|
||||
|
||||
function CreateComObject(const ClassID : TGUID) : IUnknown;
|
||||
begin
|
||||
{!!!!!!!}
|
||||
runerror(211);
|
||||
end;
|
||||
|
||||
|
||||
function CreateRemoteComObject(const MachineName : WideString;const ClassID : TGUID) : IUnknown;
|
||||
begin
|
||||
{!!!!!!!}
|
||||
runerror(211);
|
||||
end;
|
||||
|
||||
|
||||
function CreateOleObject(const ClassName : string) : IDispatch;
|
||||
begin
|
||||
{!!!!!!!}
|
||||
runerror(211);
|
||||
end;
|
||||
|
||||
|
||||
function GetActiveOleObject(const ClassName : string) : IDispatch;
|
||||
begin
|
||||
{!!!!!!!}
|
||||
runerror(211);
|
||||
end;
|
||||
|
||||
|
||||
{$endif VER1_0}
|
||||
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2005-03-28 15:09:35 peter
|
||||
new winunits packages
|
||||
|
||||
Revision 1.3 2005/02/14 17:13:32 peter
|
||||
* truncate log
|
||||
|
||||
}
|
@ -2858,7 +2858,10 @@ function DIBINDEX(n: longint): longint;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.7 2005-02-14 17:13:21 peter
|
||||
Revision 1.1 2005-03-28 15:09:35 peter
|
||||
new winunits packages
|
||||
|
||||
Revision 1.7 2005/02/14 17:13:21 peter
|
||||
* truncate log
|
||||
|
||||
}
|
215
packages/extra/winunits/objbase.inc
Normal file
215
packages/extra/winunits/objbase.inc
Normal file
@ -0,0 +1,215 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Pascal run time library.
|
||||
|
||||
Contains the corresponding declarations to objbase.h
|
||||
Used objbase.h, file date 2001-09-14 from MingW-C
|
||||
This file is heavily edited after conversion!
|
||||
|
||||
**********************************************************************}
|
||||
{$ifdef read_interface}
|
||||
|
||||
function CoBuildVersion:DWORD;stdcall; external 'ole32.dll' name 'CoBuildVersion';
|
||||
|
||||
function CoInitialize(_para1:PVOID):HRESULT;stdcall; external 'ole32.dll' name 'CoInitialize';
|
||||
|
||||
function CoInitializeEx(_para1:LPVOID; _para2:DWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoInitializeEx';
|
||||
|
||||
procedure CoUninitialize;stdcall; external 'ole32.dll' name 'CoUninitialize';
|
||||
|
||||
function CoGetMalloc(_para1:DWORD; out _para2:IMalloc):HRESULT;stdcall; external 'ole32.dll' name 'CoGetMalloc';
|
||||
|
||||
function CoGetCurrentProcess:DWORD;stdcall; external 'ole32.dll' name 'CoGetCurrentProcess';
|
||||
|
||||
function CoRegisterMallocSpy(_para1:IMallocSpy):HRESULT;stdcall; external 'ole32.dll' name 'CoRegisterMallocSpy';
|
||||
|
||||
function CoRevokeMallocSpy:HRESULT;stdcall; external 'ole32.dll' name 'CoRevokeMallocSpy';
|
||||
|
||||
function CoCreateStandardMalloc(_para1:DWORD; out _para2:IMalloc):HRESULT;stdcall; external 'ole32.dll' name 'CoGetMalloc';
|
||||
|
||||
function CoGetClassObject(const _para1:TCLSID; _para2:DWORD; _para3:PVOID; const _para4:TIID; out _para5):HRESULT;stdcall; external 'ole32.dll' name 'CoGetClassObject';
|
||||
|
||||
function CoRegisterClassObject(const _para1:TCLSID; _para2:IUnknown; _para3:DWORD; _para4:DWORD; _para5:PDWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoRegisterClassObject';
|
||||
|
||||
function CoRevokeClassObject(_para1:DWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoRevokeClassObject';
|
||||
|
||||
function CoGetMarshalSizeMax(_para1:PULONG;const _para2:TIID; _para3:IUnknown; _para4:DWORD; _para5:PVOID;
|
||||
_para6:DWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoGetMarshalSizeMax';
|
||||
|
||||
function CoMarshalInterface(_para1:IStream;const _para2:TIID; _para3:IUnknown; _para4:DWORD; _para5:PVOID;
|
||||
_para6:DWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoMarshalInterface';
|
||||
|
||||
function CoUnmarshalInterface(_para1:IStream;const _para2:TIID; out _para3):HRESULT;stdcall; external 'ole32.dll' name 'CoUnmarshalInterface';
|
||||
|
||||
function CoMarshalHresult(_para1:IStream; _para2:HRESULT):HRESULT;stdcall; external 'ole32.dll' name 'CoMarshalHresult';
|
||||
|
||||
function CoUnmarshalHresult(_para1:IStream; _para2:HRESULT):HRESULT;stdcall; external 'ole32.dll' name 'CoUnmarshalHresult';
|
||||
|
||||
function CoReleaseMarshalData(_para1:IStream):HRESULT;stdcall; external 'ole32.dll' name 'CoReleaseMarshalData';
|
||||
|
||||
function CoDisconnectObject(_para1:IUnknown; _para2:DWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoDisconnectObject';
|
||||
|
||||
function CoLockObjectExternal(_para1:IUnknown; _para2:BOOL; _para3:BOOL):HRESULT;stdcall; external 'ole32.dll' name 'CoLockObjectExternal';
|
||||
|
||||
function CoGetStandardMarshal(const _para1:TIID; _para2:IUnknown; _para3:DWORD; _para4:PVOID; _para5:DWORD;
|
||||
out _para6:IMarshal):HRESULT;stdcall; external 'ole32.dll' name 'CoGetStandardMarshal';
|
||||
|
||||
function CoGetStdMarshalEx(_para1:IUnknown; _para2:DWORD; out _para3:IUnknown):HRESULT;stdcall; external 'ole32.dll' name 'CoGetStdMarshalEx';
|
||||
|
||||
function CoIsHandlerConnected(_para1:IUnknown):BOOL;stdcall; external 'ole32.dll' name 'CoIsHandlerConnected';
|
||||
|
||||
function CoHasStrongExternalConnections(_para1:IUnknown):BOOL;stdcall; external 'ole32.dll' name 'CoHasStrongExternalConnections';
|
||||
|
||||
function CoMarshalInterThreadInterfaceInStream(const _para1:TIID; _para2:IUnknown; out _para3:IStream):HRESULT;stdcall; external 'ole32.dll' name 'CoMarshalInterThreadInterfaceInStream';
|
||||
|
||||
function CoGetInterfaceAndReleaseStream(_para1:IStream;const _para2:TIID; out _para3):HRESULT;stdcall; external 'ole32.dll' name 'CoGetInterfaceAndReleaseStream';
|
||||
|
||||
function CoCreateFreeThreadedMarshaler(_para1:IUnknown; out _para2:IUnknown):HRESULT;stdcall; external 'ole32.dll' name 'CoCreateFreeThreadedMarshaler';
|
||||
|
||||
function CoLoadLibrary(_para1:LPOLESTR; _para2:BOOL):THandle;stdcall; external 'ole32.dll' name 'CoLoadLibrary';
|
||||
|
||||
procedure CoFreeLibrary(_para1:THandle);stdcall; external 'ole32.dll' name 'CoFreeLibrary';
|
||||
|
||||
procedure CoFreeAllLibraries;stdcall; external 'ole32.dll' name 'CoFreeAllLibraries';
|
||||
|
||||
procedure CoFreeUnusedLibraries;stdcall; external 'ole32.dll' name 'CoFreeUnusedLibraries';
|
||||
|
||||
function CoCreateInstance(const _para1:TCLSID; _para2:IUnknown; _para3:DWORD;const _para4:TIID;out _para5):HRESULT;stdcall; external 'ole32.dll' name 'CoCreateInstance';
|
||||
|
||||
function CoCreateInstanceEx(const _para1:TCLSID; _para2:IUnknown; _para3:DWORD; _para4:PCOSERVERINFO; _para5:DWORD;
|
||||
_para6:PMULTI_QI):HRESULT;stdcall; external 'ole32.dll' name 'CoCreateInstanceEx';
|
||||
|
||||
function StringFromCLSID(const _para1:TCLSID; out _para2:POLESTR):HRESULT;stdcall; external 'ole32.dll' name 'StringFromCLSID';
|
||||
|
||||
function CLSIDFromString(_para1:LPOLESTR; _para2:LPCLSID):HRESULT;stdcall; external 'ole32.dll' name 'CLSIDFromString';
|
||||
|
||||
function StringFromIID(const _para1:TIID; out _para2:POLESTR):HRESULT;stdcall; external 'ole32.dll' name 'StringFromIID';
|
||||
|
||||
function IIDFromString(_para1:LPOLESTR; out _para2:TIID):HRESULT;stdcall; external 'ole32.dll' name 'IIDFromString';
|
||||
|
||||
function CoIsOle1Class(const _para1:TCLSID):BOOL;stdcall; external 'ole32.dll' name 'CoIsOle1Class';
|
||||
|
||||
function ProgIDFromCLSID(const _para1:TCLSID; out _para2:POLESTR):HRESULT;stdcall; external 'ole32.dll' name 'ProgIDFromCLSID';
|
||||
|
||||
function CLSIDFromProgID(_para1:POLESTR; _para2:LPCLSID):HRESULT;stdcall; external 'ole32.dll' name 'CLSIDFromProgID';
|
||||
|
||||
function StringFromGUID2(const _para1:TGUID; _para2:LPOLESTR; _para3:longint):longint;stdcall; external 'ole32.dll' name 'StringFromGUID2';
|
||||
|
||||
function CoCreateGuid(_para1:PGUID):HRESULT;stdcall; external 'ole32.dll' name 'CoCreateGuid';
|
||||
|
||||
function CoFileTimeToDosDateTime(_para1:PFILETIME; _para2:LPWORD; _para3:LPWORD):BOOL;stdcall; external 'ole32.dll' name 'CoFileTimeToDosDateTime';
|
||||
|
||||
function CoDosDateTimeToFileTime(_para1:WORD; _para2:WORD; _para3:PFILETIME):BOOL;stdcall; external 'ole32.dll' name 'CoDosDateTimeToFileTime';
|
||||
|
||||
function CoFileTimeNow(_para1:PFILETIME):HRESULT;stdcall; external 'ole32.dll' name 'CoFileTimeNow';
|
||||
|
||||
function CoRegisterMessageFilter(_para1:IMessageFilter;out _para2:IMessageFilter):HRESULT;stdcall; external 'ole32.dll' name 'CoRegisterMessageFilter';
|
||||
|
||||
function CoGetTreatAsClass(const _para1:TCLSID; _para2:LPCLSID):HRESULT;stdcall; external 'ole32.dll' name 'CoGetTreatAsClass';
|
||||
|
||||
function CoTreatAsClass(const _para1:TCLSID; const _para2:TCLSID):HRESULT;stdcall; external 'ole32.dll' name 'CoTreatAsClass';
|
||||
|
||||
|
||||
type
|
||||
|
||||
LPFNGETCLASSOBJECT = function (const _para1:TCLSID; const _para2:TIID;out _para3):HRESULT;stdcall;
|
||||
|
||||
LPFNCANUNLOADNOW = function:HRESULT;stdcall;
|
||||
|
||||
function DllGetClassObject(const _para1:TCLSID; const _para2:TIID; out _para3):HRESULT;stdcall; external 'ole32.dll' name 'DllGetClassObject';
|
||||
|
||||
function DllCanUnloadNow:HRESULT;stdcall; external 'ole32.dll' name 'DllCanUnloadNow';
|
||||
|
||||
function CoTaskMemAlloc(_para1:ULONG):PVOID;stdcall; external 'ole32.dll' name 'CoTaskMemAlloc';
|
||||
|
||||
function CoTaskMemRealloc(_para1:PVOID; _para2:ULONG):PVOID;stdcall; external 'ole32.dll' name 'CoTaskMemRealloc';
|
||||
|
||||
procedure CoTaskMemFree(_para1:PVOID);stdcall; external 'ole32.dll' name 'CoTaskMemFree';
|
||||
|
||||
function CreateDataAdviseHolder(_para1:IDataAdviseHolder):HRESULT;stdcall; external 'ole32.dll' name 'CreateDataAdviseHolder';
|
||||
|
||||
function CreateDataCache(_para1:IUnknown; const _para2:TCLSID; const _para3:TIID; out _para4):HRESULT;stdcall; external 'ole32.dll' name 'CreateDataCache';
|
||||
|
||||
(* Const before type ignored *)
|
||||
function StgCreateDocfile(_para1:POLESTR; _para2:DWORD; _para3:DWORD; out _para4:IStorage):HRESULT;stdcall; external 'ole32.dll' name 'StgCreateDocfile';
|
||||
|
||||
function StgCreateDocfileOnILockBytes(_para1:ILockBytes; _para2:DWORD; _para3:DWORD; out _para4:IStorage):HRESULT;stdcall; external 'ole32.dll' name 'StgCreateDocfileOnILockBytes';
|
||||
|
||||
(* Const before type ignored *)
|
||||
function StgOpenStorage(_para1:POLESTR; _para2:IStorage; _para3:DWORD; _para4:SNB; _para5:DWORD;
|
||||
out _para6:IStorage):HRESULT;stdcall; external 'ole32.dll' name 'StgOpenStorage';
|
||||
|
||||
function StgOpenStorageOnILockBytes(_para1:ILockBytes; _para2:IStorage; _para3:DWORD; _para4:SNB; _para5:DWORD;
|
||||
out _para6:IStorage):HRESULT;stdcall; external 'ole32.dll' name 'StgOpenStorageOnILockBytes';
|
||||
|
||||
function StgIsStorageFile(_para1:POLESTR):HRESULT;stdcall; external 'ole32.dll' name 'StgIsStorageFile';
|
||||
|
||||
function StgIsStorageILockBytes(_para1:ILockBytes):HRESULT;stdcall; external 'ole32.dll' name 'StgIsStorageILockBytes';
|
||||
|
||||
function StgSetTimes(_para1:POLESTR; _para2:PFILETIME; _para3:PFILETIME; _para4:PFILETIME):HRESULT;stdcall; external 'ole32.dll' name 'StgSetTimes';
|
||||
|
||||
function BindMoniker(_para1:IMoniker; _para2:DWORD; _para3:TIID; out _para4):HRESULT;stdcall; external 'ole32.dll' name 'BindMoniker';
|
||||
|
||||
function MkParseDisplayName(_para1:IBindCtx; _para2:POLESTR; out _para3:PULONG; out _para4:IMoniker):HRESULT;stdcall; external 'ole32.dll' name 'MkParseDisplayName';
|
||||
|
||||
function MonikerRelativePathTo(_para1:IMoniker; _para2:IMoniker; out _para3:IMoniker; _para4:BOOL):HRESULT;stdcall; external 'ole32.dll' name 'MonikerRelativePathTo';
|
||||
|
||||
function MonikerCommonPrefixWith(_para1:IMoniker; _para2:IMoniker; _para3:PIMoniker):HRESULT;stdcall; external 'ole32.dll' name 'MonikerCommonPrefixWith';
|
||||
|
||||
function CreateBindCtx(_para1:DWORD;out _para2:IBindCtx):HRESULT;stdcall; external 'ole32.dll' name 'CreateBindCtx';
|
||||
|
||||
function CreateGenericComposite(_para1:IMoniker; _para2:IMoniker; out _para3:IMoniker):HRESULT;stdcall; external 'ole32.dll' name 'CreateGenericComposite';
|
||||
|
||||
function GetClassFile(_para1:POLESTR; out _para2:TCLSID):HRESULT;stdcall; external 'ole32.dll' name 'GetClassFile';
|
||||
|
||||
function CreateFileMoniker(_para1:POLESTR; out _para2:IMoniker):HRESULT;stdcall; external 'ole32.dll' name 'CreateFileMoniker';
|
||||
|
||||
function CreateItemMoniker(_para1:POLESTR; _para2:POLESTR;out _para3:IMoniker):HRESULT;stdcall; external 'ole32.dll' name 'CreateItemMoniker';
|
||||
|
||||
function CreateAntiMoniker(_para1:PIMoniker):HRESULT;stdcall; external 'ole32.dll' name 'CreateAntiMoniker';
|
||||
|
||||
function CreatePointerMoniker(_para1:IUnknown; out _para2:IMoniker):HRESULT;stdcall; external 'ole32.dll' name 'CreatePointerMoniker';
|
||||
|
||||
function GetRunningObjectTable(_para1:DWORD; _para2:IRunningObjectTable):HRESULT;stdcall; external 'ole32.dll' name 'GetRunningObjectTable';
|
||||
|
||||
function CoInitializeSecurity(_para1:PSECURITY_DESCRIPTOR; _para2:LONG; _para3:PSOLE_AUTHENTICATION_SERVICE; _para4:pointer; _para5:DWORD;
|
||||
_para6:DWORD; _para7:pointer; _para8:DWORD; _para9:pointer):HRESULT;stdcall; external 'ole32.dll' name 'CoInitializeSecurity';
|
||||
|
||||
function CoGetCallContext(const _para1:TIID; _para2:Ppointer):HRESULT;stdcall; external 'ole32.dll' name 'CoGetCallContext';
|
||||
|
||||
function CoQueryProxyBlanket(_para1:IUnknown; _para2:PDWORD; _para3:PDWORD; _para4:POLESTR; _para5:PDWORD;
|
||||
_para6:PDWORD; _para7:Pointer; _para8:PDWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoQueryProxyBlanket';
|
||||
|
||||
function CoSetProxyBlanket(_para1:IUnknown; _para2:DWORD; _para3:DWORD; _para4:POLESTR; _para5:DWORD;
|
||||
_para6:DWORD; _para7:pointer; _para8:DWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoSetProxyBlanket';
|
||||
|
||||
function CoCopyProxy(_para1:IUnknown; var _para2:IUnknown):HRESULT;stdcall; external 'ole32.dll' name 'CoCopyProxy';
|
||||
|
||||
function CoQueryClientBlanket(_para1:PDWORD; _para2:PDWORD; _para3:POLESTR; _para4:PDWORD; _para5:PDWORD;
|
||||
_para6:pointer; _para7:PDWORD):HRESULT;stdcall; external 'ole32.dll' name 'CoQueryClientBlanket';
|
||||
|
||||
function CoImpersonateClient:HRESULT;stdcall; external 'ole32.dll' name 'CoImpersonateClient';
|
||||
|
||||
function CoRevertToSelf:HRESULT;stdcall; external 'ole32.dll' name 'CoRevertToSelf';
|
||||
|
||||
function CoQueryAuthenticationServices(_para1:PDWORD; _para2:PSOLE_AUTHENTICATION_SERVICE):HRESULT;stdcall; external 'ole32.dll' name 'CoQueryAuthenticationServices';
|
||||
|
||||
function CoSwitchCallContext(_para1:IUnknown; var _para2:IUnknown):HRESULT;stdcall; external 'ole32.dll' name 'CoSwitchCallContext';
|
||||
|
||||
function CoGetInstanceFromFile(_para1:PCOSERVERINFO; _para2:PCLSID; _para3:IUnknown; _para4:DWORD; _para5:DWORD;
|
||||
_para6:POLESTR; _para7:DWORD; _para8:PMULTI_QI):HRESULT;stdcall; external 'ole32.dll' name 'CoGetInstanceFromFile';
|
||||
|
||||
function CoGetInstanceFromIStorage(_para1:PCOSERVERINFO; _para2:PCLSID; _para3:IUnknown; _para4:DWORD; _para5:IStorage;
|
||||
_para6:DWORD; _para7:PMULTI_QI):HRESULT;stdcall; external 'ole32.dll' name 'CoGetInstanceFromIStorage';
|
||||
|
||||
{$endif read_interface}
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2005-03-28 15:09:35 peter
|
||||
new winunits packages
|
||||
|
||||
Revision 1.4 2005/02/14 17:13:32 peter
|
||||
* truncate log
|
||||
|
||||
}
|
44
packages/extra/winunits/ole2.pp
Normal file
44
packages/extra/winunits/ole2.pp
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by the Free Pascal development team.
|
||||
|
||||
Implemtents some stuff of OLE2, tries to be Delphi compatible
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
unit ole2;
|
||||
|
||||
{$Mode ObjFpc}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
windows;
|
||||
|
||||
type
|
||||
IUnknown = class
|
||||
public
|
||||
function QueryInterface(const iid: TIID; var obj): HResult; virtual; {$ifndef VER0_99_10}stdcall;{$endif} abstract;
|
||||
function AddRef: Longint; virtual; {$ifndef VER0_99_10}stdcall;{$endif} abstract;
|
||||
function Release: Longint; virtual; {$ifndef VER0_99_10}stdcall;{$endif} abstract;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2005-03-28 15:09:35 peter
|
||||
new winunits packages
|
||||
|
||||
Revision 1.4 2005/02/14 17:13:32 peter
|
||||
* truncate log
|
||||
|
||||
}
|
955
packages/extra/winunits/shellapi.pp
Normal file
955
packages/extra/winunits/shellapi.pp
Normal file
@ -0,0 +1,955 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Pascal run time library.
|
||||
This unit contains the record definition for the Win32 API
|
||||
Copyright (c) 1999-2002 by Marco van de Voort,
|
||||
member of the Free Pascal development team.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
************************************************************************}
|
||||
|
||||
{ leave out unused functions so the unit can be used on win2000 as well }
|
||||
{$ifndef NO_SMART_LINK}
|
||||
{$smartlink on}
|
||||
{$endif}
|
||||
|
||||
{$PACKRECORDS C}
|
||||
{$calling stdcall}
|
||||
{$mode objfpc}
|
||||
|
||||
Unit ShellApi;
|
||||
|
||||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// File: shellapi.h
|
||||
//
|
||||
// Header translation by Marco van de Voort for Free Pascal Platform
|
||||
// SDK dl'ed January 2002
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
|
||||
Interface
|
||||
|
||||
Uses Windows;
|
||||
{
|
||||
shellapi.h - SHELL.DLL functions, types, and definitions
|
||||
Copyright (c) Microsoft Corporation. All rights reserved. }
|
||||
|
||||
Type HDROP = THandle;
|
||||
UINT_PTR = ^UINT;
|
||||
DWORD_PTR= ^DWORD;
|
||||
pHICON = ^HICON;
|
||||
pBool = ^BOOL;
|
||||
|
||||
|
||||
|
||||
STARTUPINFOW = record // a guess. Omission should get fixed in Windows.
|
||||
cb : DWORD;
|
||||
lpReserved : LPTSTR;
|
||||
lpDesktop : LPTSTR;
|
||||
lpTitle : LPTSTR;
|
||||
dwX : DWORD;
|
||||
dwY : DWORD;
|
||||
dwXSize : DWORD;
|
||||
dwYSize : DWORD;
|
||||
dwXCountChars : DWORD;
|
||||
dwYCountChars : DWORD;
|
||||
dwFillAttribute : DWORD;
|
||||
dwFlags : DWORD;
|
||||
wShowWindow : WORD;
|
||||
cbReserved2 : WORD;
|
||||
lpReserved2 : LPBYTE;
|
||||
hStdInput : HANDLE;
|
||||
hStdOutput : HANDLE;
|
||||
hStdError : HANDLE;
|
||||
end;
|
||||
LPSTARTUPINFOW = ^STARTUPINFOW;
|
||||
_STARTUPINFOW = STARTUPINFOW;
|
||||
TSTARTUPINFOW = STARTUPINFOW;
|
||||
PSTARTUPINFOW = ^STARTUPINFOW;
|
||||
|
||||
|
||||
{unicode}
|
||||
Function DragQueryFileA(arg1 : HDROP; arg2 : UINT;arg3 : LPSTR ; arg4 : UINT):UINT;external 'shell32.dll' name 'DragQueryFileA';
|
||||
Function DragQueryFileW(arg1 : HDROP; arg2 : UINT;arg3 : LPWSTR; arg4 : UINT):UINT;external 'shell32.dll' name 'DragQueryFileW';
|
||||
Function DragQueryFile(arg1 : HDROP; arg2 : UINT;arg3 : LPSTR ; arg4 : UINT):UINT;external 'shell32.dll' name 'DragQueryFileA';
|
||||
Function DragQueryFile(arg1 : HDROP; arg2 : UINT;arg3 : LPWSTR; arg4 : UINT):UINT;external 'shell32.dll' name 'DragQueryFileW';
|
||||
|
||||
Function DragQueryPoint(arg1 : HDROP; arg2 :LPPOINT):BOOL; external 'shell32.dll' name 'DragQueryPoint';
|
||||
Procedure DragFinish(arg1 : HDROP); external 'shell32.dll' name 'DragFinish';
|
||||
Procedure DragAcceptFiles(hwnd : HWND;arg2: BOOL); external 'shell32.dll' name 'DragAcceptFiles';
|
||||
|
||||
Function ShellExecuteA(HWND: hwnd;lpOperation : LPCSTR ; lpFile : LPCSTR ; lpParameters : LPCSTR; lpDirectory: LPCSTR; nShowCmd:LONGINT):HInst; external 'shell32.dll' name 'ShellExecuteA';
|
||||
Function ShellExecuteW(hwnd: HWND;lpOperation : LPCWSTR ; lpFile : LPCWSTR ; lpParameters : LPCWSTR; lpDirectory: LPCWSTR; nShowCmd:LONGINT):HInst; external 'shell32.dll' name 'ShellExecuteW';
|
||||
Function ShellExecute(HWND: hwnd;lpOperation : LPCSTR ; lpFile : LPCSTR ; lpParameters : LPCSTR; lpDirectory: LPCSTR; nShowCmd:LONGINT):HInst; external 'shell32.dll' name 'ShellExecuteA';
|
||||
Function ShellExecute(hwnd: HWND;lpOperation : LPCWSTR ; lpFile : LPCWSTR ; lpParameters : LPCWSTR; lpDirectory: LPCWSTR; nShowCmd:LONGINT):HInst; external 'shell32.dll' name 'ShellExecuteW';
|
||||
|
||||
Function FindExecutableA(lpFile : LPCSTR ;lpDirectory : LPCSTR ; lpResult : LPSTR):HInst;external 'shell32.dll' name 'FindExecutableA';
|
||||
Function FindExecutableW(lpFile : LPCWSTR;lpDirectory : LPCWSTR; lpResult : LPWSTR):HInst;external 'shell32.dll' name 'FindExecutableW';
|
||||
Function FindExecutable(lpFile : LPCSTR ;lpDirectory : LPCSTR ; lpResult : LPSTR):HInst;external 'shell32.dll' name 'FindExecutableA';
|
||||
Function FindExecutable(lpFile : LPCWSTR;lpDirectory : LPCWSTR; lpResult : LPWSTR):HInst;external 'shell32.dll' name 'FindExecutableW';
|
||||
|
||||
Function CommandLineToArgvW(lpCmdLine : LPCWSTR;pNumArgs : plongint):pLPWSTR;external 'shell32.dll' name 'CommandLineToArgvW';
|
||||
|
||||
Function ShellAboutA(HWND: hWnd; szApp : LPCSTR; szOtherStuff : LPCSTR; HICON : hIcon):Longint; external 'shell32.dll' name 'ShellAboutA';
|
||||
Function ShellAboutW(HWND: hWnd; szApp : LPCWSTR; szOtherStuff : LPCWSTR; HICON : hIcon):Longint; external 'shell32.dll' name 'ShellAboutW';
|
||||
Function ShellAbout(HWND: hWnd; szApp : LPCSTR; szOtherStuff : LPCSTR; HICON : hIcon):Longint; external 'shell32.dll' name 'ShellAboutA';
|
||||
Function ShellAbout(HWND: hWnd; szApp : LPCWSTR; szOtherStuff : LPCWSTR; HICON : hIcon):Longint; external 'shell32.dll' name 'ShellAboutW';
|
||||
|
||||
Function DuplicateIcon(hinst : HINST; HICON: hIcon):HIcon; external 'shell32.dll' name 'DuplicateIcon';
|
||||
|
||||
Function ExtractAssociatedIconA(hInst : HINST; lpIconPath : LPSTR; lpiIcon : LPWORD):HICON;external 'shell32.dll' name 'ExtractAssociatedIconA';
|
||||
Function ExtractAssociatedIconW(hInst : HINST; lpIconPath : LPWSTR; lpiIcon : LPWORD):HICON;external 'shell32.dll' name 'ExtractAssociatedIconW';
|
||||
Function ExtractAssociatedIcon(hInst : HINST; lpIconPath : LPSTR; lpiIcon : LPWORD):HICON;external 'shell32.dll' name 'ExtractAssociatedIconA';
|
||||
Function ExtractAssociatedIcon(hInst : HINST; lpIconPath : LPWSTR; lpiIcon : LPWORD):HICON;external 'shell32.dll' name 'ExtractAssociatedIconW';
|
||||
|
||||
Function ExtractIconA(hInst: HINST; lpszExeFileName :LPCSTR ; nIconIndex : UINT):HICON;external 'shell32.dll' name 'ExtractIconA';
|
||||
Function ExtractIconW(hInst: HINST; lpszExeFileName :LPCWSTR ; nIconIndex : UINT):HICON;external 'shell32.dll' name 'ExtractIconW';
|
||||
|
||||
Function ExtractIcon(hInst: HINST; lpszExeFileName :LPCSTR ; nIconIndex : UINT):HICON;external 'shell32.dll' name 'ExtractIconA';
|
||||
Function ExtractIcon(hInst: HINST; lpszExeFileName :LPCWSTR ; nIconIndex : UINT):HICON;external 'shell32.dll' name 'ExtractIconW';
|
||||
|
||||
// if(WINVER >= 0x0400)
|
||||
|
||||
Type
|
||||
{ init with sizeof(DRAGINFO) }
|
||||
|
||||
_DRAGINFOA = Record
|
||||
uSize : UINT;
|
||||
pt : POINT;
|
||||
fNC : BOOL;
|
||||
lpFileList : LPSTR;
|
||||
grfKeyState : DWORD;
|
||||
end;
|
||||
DRAGINFOA = _DRAGINFOA;
|
||||
TDRAGINFOA = _DRAGINFOA;
|
||||
LPDRAGINFOA = ^_DRAGINFOA;
|
||||
|
||||
{ init with sizeof(DRAGINFO) }
|
||||
|
||||
_DRAGINFOW = Record
|
||||
uSize : UINT;
|
||||
pt : POINT;
|
||||
fNC : BOOL;
|
||||
lpFileList : LPWSTR;
|
||||
grfKeyState : DWORD;
|
||||
end;
|
||||
DRAGINFOW = _DRAGINFOW;
|
||||
TDRAGINFOW = _DRAGINFOW;
|
||||
LPDRAGINFOW = ^_DRAGINFOW;
|
||||
|
||||
{$ifdef UNICODE}
|
||||
DRAGINFO = DRAGINFOW;
|
||||
TDRAGINFO = DRAGINFOW;
|
||||
LPDRAGINFO = LPDRAGINFOW;
|
||||
{$else}
|
||||
DRAGINFO = DRAGINFOA;
|
||||
TDRAGINFO = DRAGINFOW;
|
||||
LPDRAGINFO = LPDRAGINFOA;
|
||||
{$endif}
|
||||
|
||||
Const
|
||||
ABM_NEW = $00000000;
|
||||
ABM_REMOVE = $00000001;
|
||||
ABM_QUERYPOS = $00000002;
|
||||
ABM_SETPOS = $00000003;
|
||||
ABM_GETSTATE = $00000004;
|
||||
ABM_GETTASKBARPOS = $00000005;
|
||||
ABM_ACTIVATE = $00000006; { lParam == TRUE/FALSE means activate/deactivate }
|
||||
ABM_GETAUTOHIDEBAR = $00000007;
|
||||
ABM_SETAUTOHIDEBAR = $00000008; { this can fail at any time. MUST check the result }
|
||||
{ lParam = TRUE/FALSE Set/Unset }
|
||||
{ uEdge = what edge }
|
||||
ABM_WINDOWPOSCHANGED = $0000009;
|
||||
ABM_SETSTATE = $0000000a;
|
||||
ABN_STATECHANGE = $0000000; { these are put in the wparam of callback messages }
|
||||
ABN_POSCHANGED = $0000001;
|
||||
ABN_FULLSCREENAPP = $0000002;
|
||||
ABN_WINDOWARRANGE = $0000003; { lParam == TRUE means hide }
|
||||
|
||||
{ flags for get state }
|
||||
ABS_AUTOHIDE = $0000001;
|
||||
ABS_ALWAYSONTOP = $0000002;
|
||||
ABE_LEFT = 0;
|
||||
ABE_TOP = 1;
|
||||
ABE_RIGHT = 2;
|
||||
ABE_BOTTOM = 3;
|
||||
|
||||
|
||||
Type
|
||||
|
||||
_AppBarData = Record
|
||||
cbSize : DWORD;
|
||||
hWnd : HWND;
|
||||
uCallbackMessage : UINT;
|
||||
uEdge : UINT;
|
||||
rc : RECT;
|
||||
lParam : LPARAM; { message specific }
|
||||
end;
|
||||
APPBARDATA = _AppBarData;
|
||||
TAPPBARDATA = _AppBarData;
|
||||
PAPPBARDATA = ^_AppBarData;
|
||||
|
||||
|
||||
Function SHAppBarMessage(dwMessage : DWORD; pData : APPBARDATA):UINT_PTR;external 'shell32.dll' name 'SHAppBarMessage';
|
||||
|
||||
//
|
||||
// EndAppBar
|
||||
//
|
||||
|
||||
Function DoEnvironmentSubstA(szString: LPSTR; cchString:UINT):DWORD;external 'shell32.dll' name 'DoEnvironmentSubstA';
|
||||
Function DoEnvironmentSubstW(szString: LPWSTR; cchString:UINT):DWORD;external 'shell32.dll' name 'DoEnvironmentSubstW';
|
||||
Function DoEnvironmentSubst(szString: LPSTR; cchString:UINT):DWORD;external 'shell32.dll' name 'DoEnvironmentSubstA';
|
||||
Function DoEnvironmentSubst(szString: LPWSTR; cchString:UINT):DWORD;external 'shell32.dll' name 'DoEnvironmentSubstW';
|
||||
|
||||
{Macro}
|
||||
function EIRESID(x : longint) : longint;
|
||||
|
||||
Function ExtractIconExA(lpszFile : LPCSTR; nIconIndex:Longint; phiconLarge:pHICON; phiconSmall:pHIcon; nIcons:UINT):UINT; external 'shell32.dll' name 'ExtractIconExA';
|
||||
Function ExtractIconExW(lpszFile : LPCWSTR; nIconIndex:Longint; phiconLarge:pHICON; phiconSmall:pHIcon; nIcons:UINT):UINT; external 'shell32.dll' name 'ExtractIconExW';
|
||||
Function ExtractIconExA(lpszFile : LPCSTR; nIconIndex:Longint; var phiconLarge:HICON;var phiconSmall:HIcon; nIcons:UINT):UINT; external 'shell32.dll' name 'ExtractIconExA';
|
||||
Function ExtractIconExW(lpszFile : LPCWSTR; nIconIndex:Longint; var phiconLarge:HICON;var phiconSmall:HIcon; nIcons:UINT):UINT; external 'shell32.dll' name 'ExtractIconExW';
|
||||
|
||||
Function ExtractIconEx (lpszFile : LPCSTR; nIconIndex:Longint; phiconLarge:pHICON; phiconSmall:pHIcon; nIcons:UINT):UINT; external 'shell32.dll' name 'ExtractIconExA';
|
||||
Function ExtractIconEx (lpszFile : LPCWSTR; nIconIndex:Longint; phiconLarge:pHICON; phiconSmall:pHIcon; nIcons:UINT):UINT; external 'shell32.dll' name 'ExtractIconExW';
|
||||
Function ExtractIconEx (lpszFile : LPCSTR; nIconIndex:Longint; var phiconLarge:HICON;var phiconSmall:HIcon; nIcons:UINT):UINT; external 'shell32.dll' name 'ExtractIconExA';
|
||||
Function ExtractIconEx (lpszFile : LPCWSTR; nIconIndex:Longint; var phiconLarge:HICON;var phiconSmall:HIcon; nIcons:UINT):UINT; external 'shell32.dll' name 'ExtractIconExW';
|
||||
|
||||
//
|
||||
// Shell File Operations
|
||||
//
|
||||
|
||||
//ifndef FO_MOVE //these need to be kept in sync with the ones in shlobj.h}
|
||||
Const
|
||||
FO_MOVE = $0001;
|
||||
FO_COPY = $0002;
|
||||
FO_DELETE = $0003;
|
||||
FO_RENAME = $0004;
|
||||
FOF_MULTIDESTFILES = $0001;
|
||||
FOF_CONFIRMMOUSE = $0002;
|
||||
FOF_SILENT = $0004; { don't create progress/report }
|
||||
FOF_RENAMEONCOLLISION = $0008;
|
||||
FOF_NOCONFIRMATION = $0010; { Don't prompt the user. }
|
||||
FOF_WANTMAPPINGHANDLE = $0020; { Fill in SHFILEOPSTRUCT.hNameMappings }
|
||||
FOF_ALLOWUNDO = $0040; { Must be freed using SHFreeNameMappings }
|
||||
FOF_FILESONLY = $0080; { on *.*, do only files }
|
||||
FOF_SIMPLEPROGRESS = $0100; { means don't show names of files }
|
||||
FOF_NOCONFIRMMKDIR = $0200; { don't confirm making any needed dirs }
|
||||
FOF_NOERRORUI = $0400; { don't put up error UI }
|
||||
FOF_NOCOPYSECURITYATTRIBS= $0800; { dont copy NT file Security Attributes }
|
||||
FOF_NORECURSION = $1000; { don't recurse into directories. }
|
||||
|
||||
//if (_WIN32_IE >= 0x0500)
|
||||
FOF_NO_CONNECTED_ELEMENTS= $2000; { don't operate on connected elements. }
|
||||
FOF_WANTNUKEWARNING = $4000; { during delete operation, warn if nuking instead of recycling (partially overrides FOF_NOCONFIRMATION) }
|
||||
//endif
|
||||
|
||||
//if (_WIN32_WINNT >= 0x0501)
|
||||
FOF_NORECURSEREPARSE = $8000; { treat reparse points as objects, not containers }
|
||||
//endif
|
||||
|
||||
Type
|
||||
FILEOP_FLAGS = WORD;
|
||||
|
||||
Const
|
||||
PO_DELETE = $0013; { printer is being deleted }
|
||||
PO_RENAME = $0014; { printer is being renamed }
|
||||
|
||||
PO_PORTCHANGE = $0020; { port this printer connected to is being changed }
|
||||
{ if this id is set, the strings received by }
|
||||
{ the copyhook are a doubly-null terminated }
|
||||
{ list of strings. The first is the printer }
|
||||
{ name and the second is the printer port. }
|
||||
|
||||
PO_REN_PORT = $0034; { PO_RENAME and PO_PORTCHANGE at same time. }
|
||||
|
||||
{ no POF_ flags currently defined }
|
||||
|
||||
Type
|
||||
|
||||
PRINTEROP_FLAGS = WORD;
|
||||
//endif}
|
||||
|
||||
{ FO_MOVE }
|
||||
{ implicit parameters are: }
|
||||
{ if pFrom or pTo are unqualified names the current directories are }
|
||||
{ taken from the global current drive/directory settings managed }
|
||||
{ by Get/SetCurrentDrive/Directory }
|
||||
{ }
|
||||
{ the global confirmation settings }
|
||||
{ only used if FOF_SIMPLEPROGRESS }
|
||||
|
||||
Type
|
||||
|
||||
_SHFILEOPSTRUCTA = Record
|
||||
hwnd : HWND;
|
||||
wFunc : UINT;
|
||||
pFrom : LPCSTR;
|
||||
pTo : LPCSTR;
|
||||
fFlags : FILEOP_FLAGS;
|
||||
fAnyOperationsAborted : BOOL;
|
||||
hNameMappings : LPVOID;
|
||||
lpszProgressTitle : LPCSTR; { only used if FOF_SIMPLEPROGRESS }
|
||||
end;
|
||||
SHFILEOPSTRUCTA = _SHFILEOPSTRUCTA;
|
||||
TSHFILEOPSTRUCTA = _SHFILEOPSTRUCTA;
|
||||
LPSHFILEOPSTRUCTA = ^_SHFILEOPSTRUCTA;
|
||||
|
||||
|
||||
_SHFILEOPSTRUCTW = record
|
||||
hwnd : HWND;
|
||||
wFunc : UINT;
|
||||
pFrom : LPCWSTR;
|
||||
pTo : LPCWSTR;
|
||||
fFlags : FILEOP_FLAGS;
|
||||
fAnyOperationsAborted : BOOL;
|
||||
hNameMappings : LPVOID;
|
||||
lpszProgressTitle : LPCWSTR;
|
||||
end;
|
||||
SHFILEOPSTRUCTW = _SHFILEOPSTRUCTW;
|
||||
TSHFILEOPSTRUCTW = _SHFILEOPSTRUCTW;
|
||||
LPSHFILEOPSTRUCTW = ^_SHFILEOPSTRUCTW;
|
||||
{$ifdef UNICODE}
|
||||
SHFILEOPSTRUCT = SHFILEOPSTRUCTW;
|
||||
TSHFILEOPSTRUCT = SHFILEOPSTRUCTW;
|
||||
LPSHFILEOPSTRUCT = LPSHFILEOPSTRUCTW;
|
||||
{$else}
|
||||
SHFILEOPSTRUCT = SHFILEOPSTRUCTA;
|
||||
TSHFILEOPSTRUCT = SHFILEOPSTRUCTA;
|
||||
LPSHFILEOPSTRUCT = LPSHFILEOPSTRUCTA;
|
||||
{$endif}
|
||||
|
||||
Function SHFileOperationA(lpFileOp:LPSHFILEOPSTRUCTA ):Longint;external 'shell32.dll' name 'SHFileOperationA';
|
||||
Function SHFileOperationW(lpFileOp:LPSHFILEOPSTRUCTW ):Longint;external 'shell32.dll' name 'SHFileOperationW';
|
||||
|
||||
Function SHFileOperation(lpFileOp:LPSHFILEOPSTRUCTA ):Longint;external 'shell32.dll' name 'SHFileOperationA';
|
||||
Function SHFileOperation(lpFileOp:LPSHFILEOPSTRUCTW ):Longint;external 'shell32.dll' name 'SHFileOperationW';
|
||||
|
||||
Procedure SHFreeNameMappings(hNameMappings : THandle);external 'shell32.dll' name 'SHFreeNameMappings';
|
||||
|
||||
Type
|
||||
|
||||
_SHNAMEMAPPINGA = Record
|
||||
pszOldPath : LPSTR;
|
||||
pszNewPath : LPSTR;
|
||||
cchOldPath : longint;
|
||||
cchNewPath : longint;
|
||||
end;
|
||||
SHNAMEMAPPINGA = _SHNAMEMAPPINGA;
|
||||
TSHNAMEMAPPINGA = _SHNAMEMAPPINGA;
|
||||
LPSHNAMEMAPPINGA = ^_SHNAMEMAPPINGA;
|
||||
|
||||
_SHNAMEMAPPINGW = Record
|
||||
pszOldPath : LPWSTR;
|
||||
pszNewPath : LPWSTR;
|
||||
cchOldPath : longint;
|
||||
cchNewPath : longint;
|
||||
end;
|
||||
SHNAMEMAPPINGW = _SHNAMEMAPPINGW;
|
||||
TSHNAMEMAPPINGW = _SHNAMEMAPPINGW;
|
||||
LPSHNAMEMAPPINGW = ^_SHNAMEMAPPINGW;
|
||||
{$ifndef UNICODE}
|
||||
SHNAMEMAPPING = SHNAMEMAPPINGW;
|
||||
TSHNAMEMAPPING = SHNAMEMAPPINGW;
|
||||
LPSHNAMEMAPPING = LPSHNAMEMAPPINGW;
|
||||
{$else}
|
||||
SHNAMEMAPPING = SHNAMEMAPPINGA;
|
||||
TSHNAMEMAPPING = SHNAMEMAPPINGA;
|
||||
LPSHNAMEMAPPING = LPSHNAMEMAPPINGA;
|
||||
{$endif}
|
||||
|
||||
//
|
||||
// End Shell File Operations
|
||||
//
|
||||
//
|
||||
// Begin ShellExecuteEx and family
|
||||
//
|
||||
|
||||
|
||||
{ ShellExecute() and ShellExecuteEx() error codes }
|
||||
{ regular WinExec() codes }
|
||||
|
||||
|
||||
const
|
||||
SE_ERR_FNF = 2; { file not found }
|
||||
SE_ERR_PNF = 3; { path not found }
|
||||
SE_ERR_ACCESSDENIED = 5; { access denied }
|
||||
SE_ERR_OOM = 8; { out of memory }
|
||||
SE_ERR_DLLNOTFOUND = 32;
|
||||
// endif WINVER >= 0x0400
|
||||
|
||||
{ error values for ShellExecute() beyond the regular WinExec() codes }
|
||||
SE_ERR_SHARE = 26;
|
||||
SE_ERR_ASSOCINCOMPLETE = 27;
|
||||
SE_ERR_DDETIMEOUT = 28;
|
||||
SE_ERR_DDEFAIL = 29;
|
||||
SE_ERR_DDEBUSY = 30;
|
||||
SE_ERR_NOASSOC = 31;
|
||||
|
||||
//if(WINVER >= 0x0400)}
|
||||
|
||||
{ Note CLASSKEY overrides CLASSNAME }
|
||||
|
||||
SEE_MASK_CLASSNAME = $00000001;
|
||||
SEE_MASK_CLASSKEY = $00000003;
|
||||
{ Note INVOKEIDLIST overrides IDLIST }
|
||||
SEE_MASK_IDLIST = $00000004;
|
||||
SEE_MASK_INVOKEIDLIST = $0000000c;
|
||||
SEE_MASK_ICON = $00000010;
|
||||
SEE_MASK_HOTKEY = $00000020;
|
||||
SEE_MASK_NOCLOSEPROCESS = $00000040;
|
||||
SEE_MASK_CONNECTNETDRV = $00000080;
|
||||
SEE_MASK_FLAG_DDEWAIT = $00000100;
|
||||
SEE_MASK_DOENVSUBST = $00000200;
|
||||
SEE_MASK_FLAG_NO_UI = $00000400;
|
||||
SEE_MASK_UNICODE = $00004000;
|
||||
SEE_MASK_NO_CONSOLE = $00008000;
|
||||
SEE_MASK_ASYNCOK = $00100000;
|
||||
SEE_MASK_HMONITOR = $00200000;
|
||||
//if (_WIN32_IE >= 0x0500)
|
||||
SEE_MASK_NOQUERYCLASSSTORE= $01000000;
|
||||
SEE_MASK_WAITFORINPUTIDLE= $02000000;
|
||||
//endif (_WIN32_IE >= 0x500)
|
||||
//if (_WIN32_IE >= 0x0560)
|
||||
SEE_MASK_FLAG_LOG_USAGE = $04000000;
|
||||
//endif
|
||||
{ (_WIN32_IE >= 0x560) }
|
||||
|
||||
type
|
||||
|
||||
_SHELLEXECUTEINFOA = record
|
||||
cbSize : DWORD;
|
||||
fMask : ULONG;
|
||||
hwnd : HWND;
|
||||
lpVerb : LPCSTR;
|
||||
lpFile : LPCSTR;
|
||||
lpParameters : LPCSTR;
|
||||
lpDirectory : LPCSTR;
|
||||
nShow : longint;
|
||||
hInstApp : HINST;
|
||||
lpIDList : LPVOID;
|
||||
lpClass : LPCSTR;
|
||||
hkeyClass : HKEY;
|
||||
dwHotKey : DWORD;
|
||||
DUMMYUNIONNAME : record
|
||||
case longint of
|
||||
0 : ( hIcon : HANDLE );
|
||||
1 : ( hMonitor : HANDLE );
|
||||
end;
|
||||
hProcess : HANDLE;
|
||||
end;
|
||||
|
||||
SHELLEXECUTEINFOA = _SHELLEXECUTEINFOA;
|
||||
TSHELLEXECUTEINFOA = _SHELLEXECUTEINFOA;
|
||||
LPSHELLEXECUTEINFOA = ^_SHELLEXECUTEINFOA;
|
||||
|
||||
|
||||
_SHELLEXECUTEINFOW = record
|
||||
cbSize : DWORD;
|
||||
fMask : ULONG;
|
||||
hwnd : HWND;
|
||||
lpVerb : lpcwstr;
|
||||
lpFile : lpcwstr;
|
||||
lpParameters : lpcwstr;
|
||||
lpDirectory : lpcwstr;
|
||||
nShow : longint;
|
||||
hInstApp : HINST;
|
||||
lpIDList : LPVOID;
|
||||
lpClass : LPCWSTR;
|
||||
hkeyClass : HKEY;
|
||||
dwHotKey : DWORD;
|
||||
DUMMYUNIONNAME : record
|
||||
case longint of
|
||||
0 : ( hIcon : HANDLE );
|
||||
1 : ( hMonitor : HANDLE );
|
||||
end;
|
||||
hProcess : HANDLE;
|
||||
end;
|
||||
|
||||
SHELLEXECUTEINFOW = _SHELLEXECUTEINFOW;
|
||||
TSHELLEXECUTEINFOW = _SHELLEXECUTEINFOW;
|
||||
LPSHELLEXECUTEINFOW = ^_SHELLEXECUTEINFOW;
|
||||
|
||||
{$ifdef UNICODE}
|
||||
SHELLEXECUTEINFO = SHELLEXECUTEINFOW;
|
||||
TSHELLEXECUTEINFO = SHELLEXECUTEINFOW;
|
||||
LPSHELLEXECUTEINFO = LPSHELLEXECUTEINFOW;
|
||||
{$else}
|
||||
SHELLEXECUTEINFO = SHELLEXECUTEINFOA;
|
||||
TSHELLEXECUTEINFO = SHELLEXECUTEINFOA;
|
||||
LPSHELLEXECUTEINFO = LPSHELLEXECUTEINFOA;
|
||||
{$endif}
|
||||
|
||||
Function ShellExecuteExA(lpExecInfo: LPSHELLEXECUTEINFOA):Bool;external 'shell32.dll' name 'ShellExecuteExA';
|
||||
Function ShellExecuteExW(lpExecInfo: LPSHELLEXECUTEINFOW):Bool;external 'shell32.dll' name 'ShellExecuteExW';
|
||||
Function ShellExecuteEx(lpExecInfo: LPSHELLEXECUTEINFOA):Bool;external 'shell32.dll' name 'ShellExecuteExA';
|
||||
Function ShellExecuteEx(lpExecInfo: LPSHELLEXECUTEINFOW):Bool;external 'shell32.dll' name 'ShellExecuteExW';
|
||||
|
||||
Procedure WinExecErrorA(HWND : hwnd; error : Longint;lpstrFileName:LPCSTR; lpstrTitle:LPCSTR); external 'shell32.dll' name 'WinExecErrorA';
|
||||
Procedure WinExecErrorW(HWND : hwnd; error : Longint;lpstrFileName:LPCWSTR; lpstrTitle:LPCWSTR); external 'shell32.dll' name 'WinExecErrorW';
|
||||
Procedure WinExecError(HWND : hwnd; error : Longint;lpstrFileName:LPCSTR; lpstrTitle:LPCSTR); external 'shell32.dll' name 'WinExecErrorA';
|
||||
Procedure WinExecError(HWND : hwnd; error : Longint;lpstrFileName:LPCWSTR; lpstrTitle:LPCWSTR); external 'shell32.dll' name 'WinExecErrorW';
|
||||
|
||||
type
|
||||
|
||||
_SHCREATEPROCESSINFOW = record
|
||||
cbSize : DWORD;
|
||||
fMask : ULONG;
|
||||
hwnd : HWND;
|
||||
pszFile : LPCWSTR;
|
||||
pszParameters : LPCWSTR;
|
||||
pszCurrentDirectory : LPCWSTR;
|
||||
{in} hUserToken : HANDLE;
|
||||
{in} lpProcessAttributes : LPSECURITY_ATTRIBUTES;
|
||||
{in} lpThreadAttributes : LPSECURITY_ATTRIBUTES;
|
||||
{in} bInheritHandles : BOOL;
|
||||
{in} dwCreationFlags : DWORD;
|
||||
{in} lpStartupInfo : LPSTARTUPINFOW;
|
||||
{out} lpProcessInformation : LPPROCESS_INFORMATION;
|
||||
end;
|
||||
SHCREATEPROCESSINFOW = _SHCREATEPROCESSINFOW;
|
||||
TSHCREATEPROCESSINFOW = _SHCREATEPROCESSINFOW;
|
||||
PSHCREATEPROCESSINFOW = ^_SHCREATEPROCESSINFOW;
|
||||
|
||||
Function SHCreateProcessAsUserW(pscpi : PSHCREATEPROCESSINFOW):Bool;external 'shell32.dll' name 'SHCreateProcessAsUserW';
|
||||
|
||||
//
|
||||
// End ShellExecuteEx and family }
|
||||
//
|
||||
|
||||
//
|
||||
// RecycleBin
|
||||
//
|
||||
|
||||
{ struct for query recycle bin info }
|
||||
|
||||
Type
|
||||
_SHQUERYRBINFO = record
|
||||
cbSize : DWORD;
|
||||
i64Size : int64;
|
||||
i64NumItems : int64;
|
||||
end;
|
||||
SHQUERYRBINFO = _SHQUERYRBINFO;
|
||||
TSHQUERYRBINFO = _SHQUERYRBINFO;
|
||||
LPSHQUERYRBINFO = ^_SHQUERYRBINFO;
|
||||
|
||||
{ flags for SHEmptyRecycleBin }
|
||||
|
||||
const
|
||||
SHERB_NOCONFIRMATION = $00000001;
|
||||
SHERB_NOPROGRESSUI = $00000002;
|
||||
SHERB_NOSOUND = $00000004;
|
||||
|
||||
function SHQueryRecycleBinA(pszRootPath:LPCSTR; pSHQueryRBInfo:LPSHQUERYRBINFO):HRESULT;external 'shell32.dll' name 'SHQueryRecycleBinA';
|
||||
function SHQueryRecycleBinW(pszRootPath:LPCWSTR; pSHQueryRBInfo:LPSHQUERYRBINFO):HRESULT;external 'shell32.dll' name 'SHQueryRecycleBinW';
|
||||
function SHQueryRecycleBin(pszRootPath:LPCSTR; pSHQueryRBInfo:LPSHQUERYRBINFO):HRESULT;external 'shell32.dll' name 'SHQueryRecycleBinA';
|
||||
function SHQueryRecycleBin(pszRootPath:LPCWSTR; pSHQueryRBInfo:LPSHQUERYRBINFO):HRESULT;external 'shell32.dll' name 'SHQueryRecycleBinW';
|
||||
|
||||
function SHEmptyRecycleBinA(hwnd:HWND; pszRootPath:LPCSTR; dwFlags:DWORD):HRESULT;external 'shell32.dll' name 'SHEmptyRecycleBinA';
|
||||
function SHEmptyRecycleBinW(hwnd:HWND; pszRootPath:LPCWSTR; dwFlags:DWORD):HRESULT;external 'shell32.dll' name 'SHEmptyRecycleBinW';
|
||||
function SHEmptyRecycleBin(hwnd:HWND; pszRootPath:LPCSTR; dwFlags:DWORD):HRESULT;external 'shell32.dll' name 'SHEmptyRecycleBinA';
|
||||
function SHEmptyRecycleBin(hwnd:HWND; pszRootPath:LPCWSTR; dwFlags:DWORD):HRESULT;external 'shell32.dll' name 'SHEmptyRecycleBinW';
|
||||
|
||||
//
|
||||
// end of RecycleBin
|
||||
//
|
||||
|
||||
//
|
||||
// Tray notification definitions
|
||||
//
|
||||
|
||||
Type
|
||||
|
||||
_NOTIFYICONDATAA = record
|
||||
cbSize : DWORD;
|
||||
hWnd : HWND;
|
||||
uID : UINT;
|
||||
uFlags : UINT;
|
||||
uCallbackMessage : UINT;
|
||||
hIcon : HICON;
|
||||
{$ifdef IELower5}
|
||||
szTip : array[0..63] of CHAR;
|
||||
{$else}
|
||||
szTip : array[0..127] of CHAR;
|
||||
{$endif}
|
||||
{$ifdef IEhigherEqual5}
|
||||
dwState : DWORD;
|
||||
dwStateMask : DWORD;
|
||||
szInfo : array[0..255] of CHAR;
|
||||
DUMMYUNIONNAME : record
|
||||
case longint of
|
||||
0 : ( uTimeout : UINT );
|
||||
1 : ( uVersion : UINT );
|
||||
end;
|
||||
szInfoTitle : array[0..63] of CHAR;
|
||||
dwInfoFlags : DWORD;
|
||||
{$endif}
|
||||
{$ifdef IEHighEq6}
|
||||
guidItem : GUID;
|
||||
{$endif}
|
||||
end;
|
||||
NOTIFYICONDATAA = _NOTIFYICONDATAA;
|
||||
TNOTIFYICONDATAA = _NOTIFYICONDATAA;
|
||||
PNOTIFYICONDATAA = ^_NOTIFYICONDATAA;
|
||||
|
||||
|
||||
_NOTIFYICONDATAW = record
|
||||
cbSize : DWORD;
|
||||
hWnd : HWND;
|
||||
uID : UINT;
|
||||
uFlags : UINT;
|
||||
uCallbackMessage : UINT;
|
||||
hIcon : HICON;
|
||||
{$ifdef IELower5}
|
||||
szTip : array[0..63] of WCHAR;
|
||||
{$else}
|
||||
szTip : array[0..127] of WCHAR;
|
||||
{$endif}
|
||||
{$ifdef IEhigherEqual5}
|
||||
dwState : DWORD;
|
||||
dwStateMask : DWORD;
|
||||
szInfo : array[0..255] of WCHAR;
|
||||
DUMMYUNIONNAME : record
|
||||
case longint of
|
||||
0 : ( uTimeout : UINT );
|
||||
1 : ( uVersion : UINT );
|
||||
end;
|
||||
szInfoTitle : array[0..63] of CHAR;
|
||||
dwInfoFlags : DWORD;
|
||||
{$endif}
|
||||
{$ifdef IEHighEq6}
|
||||
guidItem : GUID;
|
||||
{$endif}
|
||||
end;
|
||||
NOTIFYICONDATAW = _NOTIFYICONDATAW;
|
||||
TNOTIFYICONDATAW = _NOTIFYICONDATAW;
|
||||
PNOTIFYICONDATAW = ^_NOTIFYICONDATAW;
|
||||
{$ifdef UNICODE}
|
||||
NOTIFYICONDATA = NOTIFYICONDATAW;
|
||||
TNOTIFYICONDATA = NOTIFYICONDATAW;
|
||||
PNOTIFYICONDATA = PNOTIFYICONDATAW;
|
||||
{$else}
|
||||
NOTIFYICONDATA = NOTIFYICONDATAA;
|
||||
TNOTIFYICONDATA = NOTIFYICONDATAA;
|
||||
PNOTIFYICONDATA = PNOTIFYICONDATAA;
|
||||
{$endif}
|
||||
{ UNICODE }
|
||||
|
||||
{
|
||||
|
||||
#define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA, szTip[64])
|
||||
#define NOTIFYICONDATAW_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAW, szTip[64])
|
||||
#ifdef UNICODE
|
||||
#define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAW_V1_SIZE
|
||||
#else
|
||||
#define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAA_V1_SIZE
|
||||
#endif
|
||||
|
||||
#define NOTIFYICONDATAA_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAA, guidItem)
|
||||
#define NOTIFYICONDATAW_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAW, guidItem)
|
||||
#ifdef UNICODE
|
||||
#define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAW_V2_SIZE
|
||||
#else
|
||||
#define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAA_V2_SIZE
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
const
|
||||
NIN_SELECT = WM_USER + 0;
|
||||
NINF_KEY = $1;
|
||||
NIN_KEYSELECT = NIN_SELECT or NINF_KEY;
|
||||
// if (_WIN32_IE >= 0x0501)}
|
||||
|
||||
NIN_BALLOONSHOW = WM_USER + 2;
|
||||
NIN_BALLOONHIDE = WM_USER + 3;
|
||||
NIN_BALLOONTIMEOUT = WM_USER + 4;
|
||||
NIN_BALLOONUSERCLICK = WM_USER + 5;
|
||||
NIM_ADD = $00000000;
|
||||
NIM_MODIFY = $00000001;
|
||||
NIM_DELETE = $00000002;
|
||||
//if (_WIN32_IE >= 0x0500)}
|
||||
|
||||
NIM_SETFOCUS = $00000003;
|
||||
NIM_SETVERSION = $00000004;
|
||||
NOTIFYICON_VERSION = 3;
|
||||
|
||||
NIF_MESSAGE = $00000001;
|
||||
NIF_ICON = $00000002;
|
||||
NIF_TIP = $00000004;
|
||||
// if (_WIN32_IE >= 0x0500)}
|
||||
NIF_STATE = $00000008;
|
||||
NIF_INFO = $00000010;
|
||||
//if (_WIN32_IE >= 0x600)}
|
||||
|
||||
NIF_GUID = $00000020;
|
||||
//if (_WIN32_IE >= 0x0500)}
|
||||
|
||||
NIS_HIDDEN = $00000001;
|
||||
NIS_SHAREDICON = $00000002;
|
||||
{ says this is the source of a shared icon }
|
||||
{ Notify Icon Infotip flags }
|
||||
NIIF_NONE = $00000000;
|
||||
{ icon flags are mutually exclusive }
|
||||
{ and take only the lowest 2 bits }
|
||||
NIIF_INFO = $00000001;
|
||||
NIIF_WARNING = $00000002;
|
||||
NIIF_ERROR = $00000003;
|
||||
NIIF_ICON_MASK = $0000000F;
|
||||
//if (_WIN32_IE >= 0x0501)}
|
||||
|
||||
NIIF_NOSOUND = $00000010;
|
||||
|
||||
Function Shell_NotifyIconA( dwMessage: Dword;lpData: PNOTIFYICONDATAA):Bool;external 'shell32.dll' name 'Shell_NotifyIconA';
|
||||
Function Shell_NotifyIconW( dwMessage: Dword;lpData: PNOTIFYICONDATAW):Bool;external 'shell32.dll' name 'Shell_NotifyIconW';
|
||||
|
||||
Function Shell_NotifyIcon( dwMessage: Dword;lpData: PNOTIFYICONDATAA):Bool;external 'shell32.dll' name 'Shell_NotifyIconA';
|
||||
Function Shell_NotifyIcon( dwMessage: Dword;lpData: PNOTIFYICONDATAW):Bool;external 'shell32.dll' name 'Shell_NotifyIconW';
|
||||
//
|
||||
// End Tray Notification Icons
|
||||
//
|
||||
|
||||
//
|
||||
// Begin SHGetFileInfo
|
||||
//
|
||||
{
|
||||
The SHGetFileInfo API provides an easy way to get attributes
|
||||
for a file given a pathname.
|
||||
|
||||
PARAMETERS
|
||||
|
||||
pszPath file name to get info about
|
||||
dwFileAttributes file attribs, only used with SHGFI_USEFILEATTRIBUTES
|
||||
psfi place to return file info
|
||||
cbFileInfo size of structure
|
||||
uFlags flags
|
||||
|
||||
RETURN
|
||||
TRUE if things worked
|
||||
}
|
||||
{ out: icon }
|
||||
{ out: icon index }
|
||||
{ out: SFGAO_ flags }
|
||||
{ out: display name (or path) }
|
||||
{ out: type name }
|
||||
|
||||
type
|
||||
|
||||
_SHFILEINFOA = record
|
||||
hIcon : HICON; { out: icon }
|
||||
iIcon : longint; { out: icon index }
|
||||
dwAttributes : DWORD; { out: SFGAO_ flags }
|
||||
szDisplayName : array[0..(MAX_PATH)-1] of CHAR; { out: display name (or path) }
|
||||
szTypeName : array[0..79] of CHAR; { out: type name }
|
||||
end;
|
||||
SHFILEINFOA = _SHFILEINFOA;
|
||||
TSHFILEINFOA = _SHFILEINFOA;
|
||||
pSHFILEINFOA = ^_SHFILEINFOA;
|
||||
|
||||
_SHFILEINFOW = record
|
||||
hIcon : HICON; { out: icon }
|
||||
iIcon : longint; { out: icon index }
|
||||
dwAttributes : DWORD; { out: SFGAO_ flags }
|
||||
szDisplayName : array[0..(MAX_PATH)-1] of WCHAR;{ out: display name (or path) }
|
||||
szTypeName : array[0..79] of WCHAR; { out: type name }
|
||||
end;
|
||||
SHFILEINFOW = _SHFILEINFOW;
|
||||
TSHFILEINFOW = _SHFILEINFOW;
|
||||
pSHFILEINFOW = ^_SHFILEINFOW;
|
||||
|
||||
{$ifdef UNICODE}
|
||||
SHFILEINFO = SHFILEINFOW;
|
||||
TSHFILEINFO = SHFILEINFOW;
|
||||
pFILEINFO = SHFILEINFOW;
|
||||
{$else}
|
||||
SHFILEINFO = SHFILEINFOA;
|
||||
TSHFILEINFO = SHFILEINFOA;
|
||||
pFILEINFO = SHFILEINFOA;
|
||||
{$endif}
|
||||
{ NOTE: This is also in shlwapi.h. Please keep in synch. }
|
||||
|
||||
const
|
||||
SHGFI_ICON = $000000100; { get Icon}
|
||||
SHGFI_DISPLAYNAME = $000000200; { get display name }
|
||||
SHGFI_TYPENAME = $000000400; { get type name }
|
||||
SHGFI_ATTRIBUTES = $000000800; { get attributes }
|
||||
SHGFI_ICONLOCATION = $000001000; { get icon location}
|
||||
SHGFI_EXETYPE = $000002000; { return exe type }
|
||||
SHGFI_SYSICONINDEX = $000004000; { get system icon index }
|
||||
SHGFI_LINKOVERLAY = $000008000; { put a link overlay on icon }
|
||||
SHGFI_SELECTED = $000010000; { show icon in selected state }
|
||||
SHGFI_ATTR_SPECIFIED = $000020000; { get only specified attributes }
|
||||
SHGFI_LARGEICON = $000000000; { get large icon }
|
||||
SHGFI_SMALLICON = $000000001; { get small icon }
|
||||
SHGFI_OPENICON = $000000002; { get open icon }
|
||||
SHGFI_SHELLICONSIZE = $000000004; { get shell size icon }
|
||||
SHGFI_PIDL = $000000008; { pszPath is a pidl }
|
||||
SHGFI_USEFILEATTRIBUTES = $000000010; { use passed dwFileAttribute }
|
||||
//if (_WIN32_IE >= 0x0500)}
|
||||
SHGFI_ADDOVERLAYS = $000000020; { apply the appropriate overlays }
|
||||
SHGFI_OVERLAYINDEX = $000000040; { Get the index of the overlay }
|
||||
{ in the upper 8 bits of the iIcon }
|
||||
Function SHGetFileInfoA(pszPath: LPCSTR; dwFileAttributes : DWORD; psfi: pSHFILEINFOA; cbFileInfo,UFlags: UINT):DWORD;external 'shell32.dll' name 'SHGetFileInfoA';
|
||||
Function SHGetFileInfoW(pszPath: LPCWSTR; dwFileAttributes : DWORD; psfi: pSHFILEINFOW; cbFileInfo,UFlags: UINT):DWORD;external 'shell32.dll' name 'SHGetFileInfoW';
|
||||
Function SHGetFileInfo(pszPath: LPCSTR; dwFileAttributes : DWORD; psfi: pSHFILEINFOA; cbFileInfo,UFlags: UINT):DWORD;external 'shell32.dll' name 'SHGetFileInfoA';
|
||||
|
||||
Function SHGetFileInfoA(pszPath: LPCSTR; dwFileAttributes : DWORD; var psfi: TSHFILEINFOA; cbFileInfo,UFlags: UINT):DWORD;external 'shell32.dll' name 'SHGetFileInfoA';
|
||||
Function SHGetFileInfoW(pszPath: LPCWSTR; dwFileAttributes : DWORD; var psfi: TSHFILEINFOW; cbFileInfo,UFlags: UINT):DWORD;external 'shell32.dll' name 'SHGetFileInfoW';
|
||||
Function SHGetFileInfo(pszPath: LPCSTR; dwFileAttributes : DWORD; var psfi: TSHFILEINFOA; cbFileInfo,UFlags: UINT):DWORD;external 'shell32.dll' name 'SHGetFileInfoA';
|
||||
Function SHGetFileInfo(pszPath: LPCWSTR; dwFileAttributes : DWORD; var psfi: TSHFILEINFOW; cbFileInfo,UFlags: UINT):DWORD;external 'shell32.dll' name 'SHGetFileInfoW';
|
||||
|
||||
Function SHGetDiskFreeSpaceExA( pszDirectoryName : LPCSTR; pulFreeBytesAvailableToCaller : pULARGE_INTEGER; pulTotalNumberOfBytes : pULARGE_INTEGER;pulTotalNumberOfFreeBytes: pULARGE_INTEGER):Bool;external 'shell32.dll' name 'SHGetDiskFreeSpaceExA';
|
||||
Function SHGetDiskFreeSpaceExW( pszDirectoryName : LPCWSTR; pulFreeBytesAvailableToCaller : pULARGE_INTEGER; pulTotalNumberOfBytes : pULARGE_INTEGER;pulTotalNumberOfFreeBytes: pULARGE_INTEGER):Bool;external 'shell32.dll' name 'SHGetDiskFreeSpaceExW';
|
||||
Function SHGetDiskFreeSpaceEx( pszDirectoryName : LPCSTR; pulFreeBytesAvailableToCaller : pULARGE_INTEGER; pulTotalNumberOfBytes : pULARGE_INTEGER;pulTotalNumberOfFreeBytes: pULARGE_INTEGER):Bool;external 'shell32.dll' name 'SHGetDiskFreeSpaceExA';
|
||||
Function SHGetDiskFreeSpace( pszDirectoryName : LPCSTR; pulFreeBytesAvailableToCaller : pULARGE_INTEGER; pulTotalNumberOfBytes : pULARGE_INTEGER;pulTotalNumberOfFreeBytes: pULARGE_INTEGER):Bool;external 'shell32.dll' name 'SHGetDiskFreeSpaceExA';
|
||||
Function SHGetDiskFreeSpaceEx( pszDirectoryName : LPCWSTR; pulFreeBytesAvailableToCaller : pULARGE_INTEGER; pulTotalNumberOfBytes : pULARGE_INTEGER;pulTotalNumberOfFreeBytes: pULARGE_INTEGER):Bool;external 'shell32.dll' name 'SHGetDiskFreeSpaceExW';
|
||||
Function SHGetDiskFreeSpace( pszDirectoryName : LPCWSTR; pulFreeBytesAvailableToCaller : pULARGE_INTEGER; pulTotalNumberOfBytes : pULARGE_INTEGER;pulTotalNumberOfFreeBytes: pULARGE_INTEGER):Bool;external 'shell32.dll' name 'SHGetDiskFreeSpaceExW';
|
||||
|
||||
Function SHGetNewLinkInfoA(pszLinkTo:LPCSTR;pszDir:LPCSTR; pszName:LPSTR; pfMustCopy: pBool; uFlags:UINT):Bool;external 'shell32.dll' name 'SHGetNewLinkInfoA';
|
||||
Function SHGetNewLinkInfoW(pszLinkTo:LPCWSTR;pszDir:LPCWSTR; pszName:LPWSTR; pfMustCopy: pBool; uFlags:UINT):Bool;external 'shell32.dll' name 'SHGetNewLinkInfoW';
|
||||
|
||||
Function SHGetNewLinkInfo (pszLinkTo:LPCSTR;pszDir:LPCSTR; pszName:LPSTR; pfMustCopy: pBool; uFlags:UINT):Bool;external 'shell32.dll' name 'SHGetNewLinkInfoA';
|
||||
Function SHGetNewLinkInfo (pszLinkTo:LPCWSTR;pszDir:LPCWSTR; pszName:LPWSTR; pfMustCopy: pBool; uFlags:UINT):Bool;external 'shell32.dll' name 'SHGetNewLinkInfoW';
|
||||
|
||||
const
|
||||
SHGNLI_PIDL = $000000001; { pszLinkTo is a pidl }
|
||||
SHGNLI_PREFIXNAME = $000000002; { Make name "Shortcut to xxx" }
|
||||
SHGNLI_NOUNIQUE = $000000004; { don't do the unique name generation }
|
||||
// {if (_WIN32_IE >= 0x0501)}
|
||||
SHGNLI_NOLNK = $000000008; { don't add ".lnk" extension }
|
||||
// {$endif}
|
||||
{ _WIN2_IE >= 0x0501 }
|
||||
//
|
||||
// End SHGetFileInfo
|
||||
//
|
||||
|
||||
{ Printer stuff }
|
||||
PRINTACTION_OPEN = 0;
|
||||
PRINTACTION_PROPERTIES = 1;
|
||||
PRINTACTION_NETINSTALL = 2;
|
||||
PRINTACTION_NETINSTALLLINK = 3;
|
||||
PRINTACTION_TESTPAGE = 4;
|
||||
PRINTACTION_OPENNETPRN = 5;
|
||||
{$ifdef WINNT}
|
||||
PRINTACTION_DOCUMENTDEFAULTS = 6;
|
||||
PRINTACTION_SERVERPROPERTIES = 7;
|
||||
{$endif}
|
||||
|
||||
Function SHInvokePrinterCommandA(HWND: hwnd; uAction:UINT; lpBuf1: LPCSTR; lpBuf2: LPCSTR; fModal:Bool):Bool;external 'shell32.dll' name 'SHInvokePrinterCommandA';
|
||||
Function SHInvokePrinterCommandW(HWND: hwnd; uAction:UINT; lpBuf1: LPCWSTR; lpBuf2: LPCWSTR; fModal:Bool):Bool;external 'shell32.dll' name 'SHInvokePrinterCommandW';
|
||||
Function SHInvokePrinterCommand(HWND: hwnd; uAction:UINT; lpBuf1: LPCSTR; lpBuf2: LPCSTR; fModal:Bool):Bool;external 'shell32.dll' name 'SHInvokePrinterCommandA';
|
||||
Function SHInvokePrinterCommand(HWND: hwnd; uAction:UINT; lpBuf1: LPCWSTR; lpBuf2: LPCWSTR; fModal:Bool):Bool;external 'shell32.dll' name 'SHInvokePrinterCommandW';
|
||||
|
||||
// WINVER >= 0x0400
|
||||
//if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0500)
|
||||
//
|
||||
// The SHLoadNonloadedIconOverlayIdentifiers API causes the shell's
|
||||
// icon overlay manager to load any registered icon overlay
|
||||
// identifers that are not currently loaded. This is useful if an
|
||||
// overlay identifier did not load at shell startup but is needed
|
||||
// and can be loaded at a later time. Identifiers already loaded
|
||||
// are not affected. Overlay identifiers implement the
|
||||
// IShellIconOverlayIdentifier interface.
|
||||
//
|
||||
// Returns:
|
||||
// S_OK
|
||||
//
|
||||
|
||||
function SHLoadNonloadedIconOverlayIdentifiers:HResult; external 'shell32.dll' name 'SHInvokePrinterCommandW';
|
||||
|
||||
//
|
||||
// The SHIsFileAvailableOffline API determines whether a file
|
||||
// or folder is available for offline use.
|
||||
//
|
||||
// Parameters:
|
||||
// pwszPath file name to get info about
|
||||
// pdwStatus (optional) OFFLINE_STATUS_* flags returned here
|
||||
//
|
||||
// Returns:
|
||||
// S_OK File/directory is available offline, unless
|
||||
// OFFLINE_STATUS_INCOMPLETE is returned.
|
||||
// E_INVALIDARG Path is invalid, or not a net path
|
||||
// E_FAIL File/directory is not available offline
|
||||
//
|
||||
// Notes:
|
||||
// OFFLINE_STATUS_INCOMPLETE is never returned for directories.
|
||||
// Both OFFLINE_STATUS_LOCAL and OFFLINE_STATUS_REMOTE may be returned,
|
||||
// indicating "open in both places." This is common when the server is online.
|
||||
//
|
||||
function SHIsFileAvailableOffline(pwszPath:LPCWSTR; pdwStatus:LPDWORD):HRESULT; external 'shell32.dll' name 'SHIsFileAvailableOffline';
|
||||
|
||||
const
|
||||
OFFLINE_STATUS_LOCAL = $0001; { If open, it's open locally }
|
||||
OFFLINE_STATUS_REMOTE = $0002; { If open, it's open remotely }
|
||||
OFFLINE_STATUS_INCOMPLETE = $0004; { The local copy is currently incomplete. }
|
||||
{ The file will not be available offline }
|
||||
{ until it has been synchronized. }
|
||||
{ sets the specified path to use the string resource }
|
||||
{ as the UI instead of the file system name }
|
||||
|
||||
function SHSetLocalizedName(pszPath:LPWSTR; pszResModule:LPCWSTR; idsRes:longint):HRESULT;external 'shell32.dll' name 'SHSetLocalizedName';
|
||||
|
||||
//if _WIN32_IE >= 0x0600}
|
||||
|
||||
function SHEnumerateUnreadMailAccountsA(hKeyUser:HKEY; dwIndex:DWORD; pszMailAddress:LPSTR; cchMailAddress:longint):HRESULT;external 'shell32.dll' name 'SHEnumerateUnreadMailAccountsA';
|
||||
function SHEnumerateUnreadMailAccountsW(hKeyUser:HKEY; dwIndex:DWORD; pszMailAddress:LPWSTR; cchMailAddress:longint):HRESULT;external 'shell32.dll' name 'SHEnumerateUnreadMailAccountsW';
|
||||
|
||||
function SHEnumerateUnreadMailAccounts(hKeyUser:HKEY; dwIndex:DWORD; pszMailAddress:LPWSTR; cchMailAddress:longint):HRESULT;external 'shell32.dll' name 'SHEnumerateUnreadMailAccountsW';
|
||||
|
||||
function SHGetUnreadMailCountA(hKeyUser:HKEY; pszMailAddress:LPCSTR; pdwCount:PDWORD; pFileTime:PFILETIME; pszShellExecuteCommand:LPSTR;cchShellExecuteCommand:longint):HRESULT;external 'shell32.dll' name 'SHGetUnreadMailCountA';
|
||||
function SHGetUnreadMailCountW(hKeyUser:HKEY; pszMailAddress:LPCWSTR; pdwCount:PDWORD; pFileTime:PFILETIME; pszShellExecuteCommand:LPWSTR;cchShellExecuteCommand:longint):HRESULT;external 'shell32.dll' name 'SHGetUnreadMailCountW';
|
||||
function SHGetUnreadMailCount(hKeyUser:HKEY; pszMailAddress:LPCSTR; pdwCount:PDWORD; pFileTime:PFILETIME; pszShellExecuteCommand:LPSTR;cchShellExecuteCommand:longint):HRESULT;external 'shell32.dll' name 'SHGetUnreadMailCountA';
|
||||
function SHGetUnreadMailCount(hKeyUser:HKEY; pszMailAddress:LPCWSTR; pdwCount:PDWORD; pFileTime:PFILETIME; pszShellExecuteCommand:LPWSTR;cchShellExecuteCommand:longint):HRESULT;external 'shell32.dll' name 'SHGetUnreadMailCountW';
|
||||
|
||||
function SHSetUnreadMailCountA(pszMailAddress:LPCSTR; dwCount:DWORD; pszShellExecuteCommand:LPCSTR):HRESULT;external 'shell32.dll' name 'SHSetUnreadMailCountA';
|
||||
function SHSetUnreadMailCountW(pszMailAddress:LPCWSTR; dwCount:DWORD; pszShellExecuteCommand:LPCWSTR):HRESULT;external 'shell32.dll' name 'SHSetUnreadMailCountW';
|
||||
function SHSetUnreadMailCount(pszMailAddress:LPCSTR; dwCount:DWORD; pszShellExecuteCommand:LPCSTR):HRESULT;external 'shell32.dll' name 'SHSetUnreadMailCountA';
|
||||
function SHSetUnreadMailCount(pszMailAddress:LPCWSTR; dwCount:DWORD; pszShellExecuteCommand:LPCWSTR):HRESULT;external 'shell32.dll' name 'SHSetUnreadMailCountW';
|
||||
|
||||
// _WIN32_IE >= 0x0600 }
|
||||
// if _WIN32_IE >= 0x0600}
|
||||
|
||||
function SHGetImageList(iImageList:longint;CONST riid:TIID; ppvObj:Ppointer):HRESULT;external 'shell32.dll' name 'SHGetImageList';
|
||||
|
||||
Const
|
||||
SHIL_LARGE = 0; { normally 32x32 }
|
||||
SHIL_SMALL = 1; { normally 16x16 }
|
||||
SHIL_EXTRALARGE = 2;
|
||||
SHIL_SYSSMALL = 3; { like SHIL_SMALL, but tracks system small icon metric correctly }
|
||||
SHIL_LAST = SHIL_SYSSMALL;
|
||||
|
||||
{ Function call types for ntshrui folder sharing helpers }
|
||||
|
||||
//typedef HRESULT (STDMETHODCALLTYPE *PFNSHOWSHAREFOLDERUIW)(IN HWND hwndParent, IN LPCSTR pszPath);
|
||||
//typedef HRESULT (STDMETHODCALLTYPE *PFNSHOWSHAREFOLDERUIW)(IN HWND hwndParent, IN LPCWSTR pszPath);
|
||||
|
||||
implementation
|
||||
|
||||
function EIRESID(x : longint) : longint;
|
||||
Begin
|
||||
EIRESID:=-x;
|
||||
End;
|
||||
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2005-03-28 15:09:35 peter
|
||||
new winunits packages
|
||||
|
||||
Revision 1.8 2005/02/14 17:13:32 peter
|
||||
* truncate log
|
||||
|
||||
Revision 1.7 2005/02/03 20:48:56 florian
|
||||
* fixed SHGetFileInfo
|
||||
|
||||
}
|
118
packages/extra/winunits/shfolder.pp
Normal file
118
packages/extra/winunits/shfolder.pp
Normal file
@ -0,0 +1,118 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by the Free Pascal development team
|
||||
|
||||
Interface to shfolder.dll
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{ ---------------------------------------------------------------------
|
||||
shfolder.dll is distributed standard with IE5.5, so it should ship
|
||||
with 2000/XP or higher but is likely to be installed on NT/95/98 or
|
||||
ME as well. It works on all these systems.
|
||||
|
||||
The info found here is also in the registry:
|
||||
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\
|
||||
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\
|
||||
|
||||
Note that not all CSIDL_* constants are supported by shlfolder.dll,
|
||||
they should be supported by the shell32.dll, though again not on all
|
||||
systems.
|
||||
---------------------------------------------------------------------}
|
||||
|
||||
Unit shfolder;
|
||||
|
||||
Interface
|
||||
|
||||
Uses
|
||||
windows;
|
||||
|
||||
Const
|
||||
LibName = 'SHFolder.dll';
|
||||
|
||||
Const
|
||||
|
||||
CSIDL_PROGRAMS = $0002; { %SYSTEMDRIVE%\Program Files }
|
||||
CSIDL_PERSONAL = $0005; { %USERPROFILE%\My Documents }
|
||||
CSIDL_FAVORITES = $0006; { %USERPROFILE%\Favorites }
|
||||
CSIDL_STARTUP = $0007; { %USERPROFILE%\Start menu\Programs\Startup }
|
||||
CSIDL_RECENT = $0008; { %USERPROFILE%\Recent }
|
||||
CSIDL_SENDTO = $0009; { %USERPROFILE%\Sendto }
|
||||
CSIDL_STARTMENU = $000B; { %USERPROFILE%\Start menu }
|
||||
CSIDL_MYMUSIC = $000D; { %USERPROFILE%\Documents\My Music }
|
||||
CSIDL_MYVIDEO = $000E; { %USERPROFILE%\Documents\My Videos }
|
||||
CSIDL_DESKTOPDIRECTORY = $0010; { %USERPROFILE%\Desktop }
|
||||
CSIDL_NETHOOD = $0013; { %USERPROFILE%\NetHood }
|
||||
CSIDL_TEMPLATES = $0015; { %USERPROFILE%\Templates }
|
||||
CSIDL_COMMON_STARTMENU = $0016; { %PROFILEPATH%\All users\Start menu }
|
||||
CSIDL_COMMON_PROGRAMS = $0017; { %PROFILEPATH%\All users\Start menu\Programs }
|
||||
CSIDL_COMMON_STARTUP = $0018; { %PROFILEPATH%\All users\Start menu\Programs\Startup }
|
||||
CSIDL_COMMON_DESKTOPDIRECTORY = $0019; { %PROFILEPATH%\All users\Desktop }
|
||||
CSIDL_APPDATA = $001A; { %USERPROFILE%\Application Data (roaming) }
|
||||
CSIDL_PRINTHOOD = $001B; { %USERPROFILE%\Printhood }
|
||||
CSIDL_LOCAL_APPDATA = $001C; { %USERPROFILE%\Local Settings\Application Data (non roaming) }
|
||||
CSIDL_COMMON_FAVORITES = $001F; { %PROFILEPATH%\All users\Favorites }
|
||||
CSIDL_INTERNET_CACHE = $0020; { %USERPROFILE%\Local Settings\Temporary Internet Files }
|
||||
CSIDL_COOKIES = $0021; { %USERPROFILE%\Cookies }
|
||||
CSIDL_HISTORY = $0022; { %USERPROFILE%\Local settings\History }
|
||||
CSIDL_COMMON_APPDATA = $0023; { %PROFILESPATH%\All Users\Application Data }
|
||||
CSIDL_WINDOWS = $0024; { %SYSTEMROOT% }
|
||||
CSIDL_SYSTEM = $0025; { %SYSTEMROOT%\SYSTEM32 (may be system on 95/98/ME) }
|
||||
CSIDL_PROGRAM_FILES = $0026; { %SYSTEMDRIVE%\Program Files }
|
||||
CSIDL_MYPICTURES = $0027; { %USERPROFILE%\My Documents\My Pictures }
|
||||
CSIDL_PROFILE = $0028; { %USERPROFILE% }
|
||||
CSIDL_PROGRAM_FILES_COMMON = $002B; { %SYSTEMDRIVE%\Program Files\Common }
|
||||
CSIDL_COMMON_TEMPLATES = $002D; { %PROFILEPATH%\All Users\Templates }
|
||||
CSIDL_COMMON_DOCUMENTS = $002E; { %PROFILEPATH%\All Users\Documents }
|
||||
CSIDL_COMMON_ADMINTOOLS = $002F; { %PROFILEPATH%\All Users\Start Menu\Programs\Administrative Tools }
|
||||
CSIDL_ADMINTOOLS = $0030; { %USERPROFILE%\Start Menu\Programs\Administrative Tools }
|
||||
CSIDL_COMMON_MUSIC = $0035; { %PROFILEPATH%\All Users\Documents\my music }
|
||||
CSIDL_COMMON_PICTURES = $0036; { %PROFILEPATH%\All Users\Documents\my pictures }
|
||||
CSIDL_COMMON_VIDEO = $0037; { %PROFILEPATH%\All Users\Documents\my videos }
|
||||
CSIDL_CDBURN_AREA = $003B; { %USERPROFILE%\Local Settings\Application Data\Microsoft\CD Burning }
|
||||
CSIDL_PROFILES = $003E; { %PROFILEPATH% }
|
||||
|
||||
CSIDL_FLAG_CREATE = $8000; { (force creation of requested folder if it doesn't exist yet) }
|
||||
|
||||
{ Original entry points }
|
||||
|
||||
Function SHGetFolderPathA(Ahwnd: HWND; Csidl: Integer; Token: THandle; Flags: DWord; Path: PChar): HRESULT; stdcall; external LibName name 'SHGetFolderPathA';
|
||||
Function SHGetFolderPathW(Ahwnd: HWND; Csidl: Integer; Token: THandle; Flags: DWord; Path: PChar): HRESULT; stdcall; external LibName name 'SHGetFolderPathW';
|
||||
|
||||
Function SHGetFolderPath (Ahwnd: HWND; Csidl: Integer; Token: THandle; Flags: DWord; Path: PChar): HRESULT; stdcall; external LibName name 'SHGetFolderPathA';
|
||||
|
||||
|
||||
{ For Delphi compatibility }
|
||||
|
||||
type
|
||||
PFNSHGetFolderPathA = Function(Ahwnd: HWND; Csidl: Integer; Token: THandle; Flags: DWord; Path: PChar): HRESULT; stdcall;
|
||||
PFNSHGetFolderPathW = Function(Ahwnd: HWND; Csidl: Integer; Token: THandle; Flags: DWord; Path: PChar): HRESULT; stdcall;
|
||||
PFNSHGetFolderPath = PFNSHGetFolderPathA;
|
||||
|
||||
TSHGetFolderPathA = PFNSHGetFolderPathA;
|
||||
TSHGetFolderPathW = PFNSHGetFolderPathW;
|
||||
TSHGetFolderPath = TSHGetFolderPathA;
|
||||
|
||||
implementation
|
||||
|
||||
const
|
||||
SHFolderDll = 'SHFolder.dll';
|
||||
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2005-03-28 15:09:35 peter
|
||||
new winunits packages
|
||||
|
||||
Revision 1.4 2005/02/14 17:13:32 peter
|
||||
* truncate log
|
||||
|
||||
}
|
19
packages/extra/winunits/shlobj.pp
Normal file
19
packages/extra/winunits/shlobj.pp
Normal file
@ -0,0 +1,19 @@
|
||||
{
|
||||
$Id$
|
||||
}
|
||||
unit shlobj;
|
||||
|
||||
interface
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2005-03-28 15:09:35 peter
|
||||
new winunits packages
|
||||
|
||||
Revision 1.2 2005/02/14 17:13:32 peter
|
||||
* truncate log
|
||||
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
#
|
||||
# Makefile.fpc for Winver unit
|
||||
#
|
||||
|
||||
[package]
|
||||
name=winver
|
||||
version=1.9.8
|
||||
|
||||
[target]
|
||||
units=winver
|
||||
examples=testver
|
||||
|
||||
[install]
|
||||
fpcpackage=y
|
||||
|
||||
[default]
|
||||
fpcdir=../../..
|
Loading…
Reference in New Issue
Block a user