2005 ...
januari februari maart april (1) mei juni (16) juli augustus september (12) oktober (14) november (8) december (3)
2005-09-09 22:47 i196 [permalink]
IconSuite.zip ~289KB. Making icons for this site (and others), especially with little icons repeating on top of others to denote combinations of two concepts into a new concept, is quite a job. Expecially if you do all of this by hand, pixel by pixel, adding transparency... Converting to PNG or something that a WebSite can use. And have all that into a single BMP for the dsWebTreeView.
Since it's such a job, of repetitive nature, it's great to write an app for. This thing helps me to create new icons, new combinations, and the template/overlay system is great for the great number of similar icons and those little exceptions that occur just once.
For now it's stuck to icons of 16x16 pixels, but if there's demand (hint hint) I might re-work those constants into settings. It exports PNG's and a single BMP read to use with dsWebTreeView. The data is stored in a IconSuite.xml file in the same directory as the exe. The IconSuite.xml file for this site can be found here IconSuite.xml.
2005-09-18 11:39 r119 [permalink]
2005-09-18 11:40 r121 [permalink]
2005-09-18 11:42 r122 [permalink]
→ Odo
2005-09-20 15:54 i231 [permalink]
train that brain, meer nog blijkbaar zit hun dagelijkse op de vaste URL:
2005-09-20 16:40 i232 [permalink]
Annular Solar Eclipse of 2005 October 03
de volgende zonsverduistering passeert over Spanje!
2005-09-20 16:47 i234 [permalink]
Telenet Pctv begint al betere films te kunnen geven!The giant cheese-ball in the sky
2005-09-23 16:07 i236 [permalink]
de grapjassen! vooral eens inzoomen tot de grootste stand! ha!
2005-09-25 19:38 i245 [permalink]
Reporters sans frontières - Create your own blog, remain anonymous and get round censorship !
Interessant, maar een vreemd duister kantje om politiek schuine dingen te kunnen doen. Moet ik misschien eens doornemen op mijn gemak.
Ook lijkt dit me een eenvoudig te verklaren verschijnsel. Met het nieuwe medium internet, is iedere ontvanger ook een zender, mocht die dat willen. Dus is ook iedere nieuws-lezer, eigenlijk een beetje een journalist, mocht die dat willen. En net dat journalisme is iets waar meer komt bij kijken dan gewoon wat informatie spuien... Toch?
IPod Nano's schermpje breekt gemakkelijk
2005-09-27 13:07 i252 [permalink]
IPod Nanos develop scratch of death
aj... Tja, ik vroeg me al af of ze lang zouden hebben moeten kiezen welk plastiek te gebruiken, bijvoorbeeld ook voor mijn T630. En als ze iets zo dun mogelijk willen krijgen, dan moet het schermpje zelf ook zo dun mogelijk natuurlijk. En om te prijs te drukken gaan ze geen geslepen saffier kunnen gebruiken als scherm...
2005-09-27 13:20 i254 [permalink]
Personalize your Google homepage
ha! mijn zoektocht naar een RSS-reader die wat te doen is is al gedaan!
CreateProcessAsUser/CreateProcessWithLogon
2005-09-28 10:10 i269 [permalink]
Pre-Windows 2000 versions have a function call CreateProcessAsUser available, but this requires the SeTcbPrivilege, which only the local Administrator account have (and the local SYSTEM account, but not user accounts in the Administrators group). So this first method only works with the local administrator account:procedure SetPrivilege(th:THandle;pn:string);Since Windows 2000, advapi32.dll also has a CreateProcessWithLogonW function call, which doesn't require you to have the SeTcbPrivilege. Using this call, the above code can be condesed to this: (Delphi 6 doesn't have this function call declared, so the declaration is included here)
var
tp:TTokenPrivileges;
tpc:cardinal;
begin
tpc:=0;
tp.PrivilegeCount:=1;
tp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
if not(LookupPrivilegeValue('',PChar(pn),tp.Privileges[0].Luid)) then RaiseLastOSError;
if not(AdjustTokenPrivileges(th,false,tp,SizeOf(tp),nil,tpc)) then RaiseLastOSError;
end;
procedure RunAs(Logon,Pwd,Domain,App:string);
var
th:THandle;
si:TStartupInfo;
pi:TProcessInformation;
begin
if not(OpenProcessToken(GetCurrentProcess,
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY or TOKEN_ASSIGN_PRIMARY,th)) then RaiseLastOSError;
SetPrivilege(th,'SeTcbPrivilege');
SetPrivilege(th,'SeAssignPrimaryTokenPrivilege');
SetPrivilege(th,'SeIncreaseQuotaPrivilege');
CloseHandle(th);
if not(LogonUser(
PChar(Logon),PChar(Domain),PChar(Pwd),
LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,th)) then RaiseLastOSError;
try
ZeroMemory(@si,sizeof(si));
si.cb:=sizeof(si);
si.dwFlags:=STARTF_USESHOWWINDOW;
si.wShowWindow:=SW_NORMAL;
ZeroMemory(@pi,sizeof(pi));
if not(CreateProcessAsUserW(th,nil,PWideChar(WideString(App)),
nil,nil,false,0,nil,nil,si,pi)) then RaiseLastOSError;
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
finally
CloseHandle(th);
end;
end;
function CreateProcessWithLogonW(
lpUsername: PWideChar;lpDomain: PWideChar;lpPassword: PWideChar;
dwLogonFlags: DWORD; lpApplicationName: PWideChar;
lpCommandLine: PWideChar; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: PWideChar;
const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): BOOL; stdcall;
const
LOGON_WITH_PROFILE =$00000001;
LOGON_NETCREDENTIALS_ONLY =$00000002;
LOGON_ZERO_PASSWORD_BUFFER =$80000000;
function CreateProcessWithLogonW; external 'advapi32.dll' name 'CreateProcessWithLogonW';
procedure RunAs(Logon,Pwd,Domain,App:string);
var
si:TStartupInfo;
pi:TProcessInformation;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=sizeof(si);
si.dwFlags:=STARTF_USESHOWWINDOW;
si.wShowWindow:=SW_NORMAL;
ZeroMemory(@pi,sizeof(pi));
if not(CreateProcessWithLogonW(
PWideChar(WideString(Logon)),
PWideChar(WideString(Domain)),
PWideChar(WideString(Pwd)),LOGON_WITH_PROFILE,nil,
PWideChar(WideString(App)),
0,nil,nil,si,pi)) then RaiseLastOSError;
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
end;