Hallo Freunde der Nacht,
habe mal wieder n Problem, zu welchem ihr mir sicherlich helfen könnt.
Also -> ich möchte einfach das Icon einer von phc-win erstellten .exe Datei verändern und zwar mit php - > dazu folgender Code von bamcompile:
Selbiger ändert die Icon Resource -> allerdings geht das nur wenn ich beide Dateien -> also outfile und das File wo der obige Code drin is mit bamcompile kompiliert habe. So nun würde ich gerne Wissen, wie ich diese .ico File OHNE sonstige Hilfsprogramme als Resource setzen kann.
Ich dachte auch schon über .rc files in winbinder -> aber dies ist mir ebenso schleierhaft :/
Danke schonmal im Voraus!
Gruß Robert
habe mal wieder n Problem, zu welchem ihr mir sicherlich helfen könnt.
Also -> ich möchte einfach das Icon einer von phc-win erstellten .exe Datei verändern und zwar mit php - > dazu folgender Code von bamcompile:
PHP-Code:
if(file_exists($iconfile))
{
$icondata = file_get_contents($iconfile);
$offset = 4;
$icon_count = unpack("S",substr($icondata,$offset,2));
$icon_count = $icon_count[1];
$offset+=2;
$icons = array();
for($i=0;$i<$icon_count;$i++)
{
$icon = array();
$val = unpack("C",substr($icondata,$offset,1));
$icon[width] = $val[1];
$offset++;
$val = unpack("C",substr($icondata,$offset,1));
$icon[height] = $val[1];
$offset++;
$val = unpack("C",substr($icondata,$offset,1));
$icon[colors] = $val[1];
$offset+=2;
$val = unpack("S",substr($icondata,$offset,2));
$icon[planes] = $val[1];
$offset+=2;
$val = unpack("S",substr($icondata,$offset,2));
$icon[bitcount] = $val[1];
$offset+=2;
$val = unpack("L",substr($icondata,$offset,4));
$icon[size] = $val[1];
$offset+=4;
$val = unpack("L",substr($icondata,$offset,4));
$icon[offset] = $val[1];
$offset+=4;
$icons[] = $icon;
}
for($i=0;$i<count($icons);$i++)
{
$data = substr($icondata,$icons[$i][offset],$icons[$i][size]);
$icons[$i][data] = $data;
}
$icon_group = "";
$icon_group.=pack("S",0);
$icon_group.=pack("S",1);
$icon_group.=pack("S",$icon_count);
for($i=0;$i<$icon_count;$i++)
{
$icon_group.=pack("C",$icons[$i][width]);
$icon_group.=pack("C",$icons[$i][height]);
$icon_group.=pack("C",$icons[$i][colors]);
$icon_group.=pack("C",0); // "RESERVED"
$icon_group.=pack("S",$icons[$i][planes]);
$icon_group.=pack("S",$icons[$i][bitcount]);
$icon_group.=pack("L",$icons[$i][size]);
$icon_group.=pack("S",$i+1);
}
print "Updating icon...";
res_set($outfile,"RT_GROUP_ICON","#1",$icon_group);
for($i=0;$i<$icon_count;$i++)
{
$worked = res_set($outfile,RT_ICON,"#".($i+1),$icons[$i][data]);
}
print "done\n";
}
Ich dachte auch schon über .rc files in winbinder -> aber dies ist mir ebenso schleierhaft :/
Danke schonmal im Voraus!
Gruß Robert
Kommentar