Avatar billede megabyte_ Nybegynder
30. april 2002 - 13:18 Der er 12 kommentarer og
2 løsninger

Startbutton bit map skift

Hey

Jeg har et lille problem jeg har fundet det her kode på
http://www.delphi.about.com/bltip0900.htm
men kan ikke lige få det til at virke helt

Den fjerner godt nok det normale bitmap + tekst men sætter ikke det nye ind

Og hvordan skifter jeg teksten på startknappen ?

procedure TForm1.FormCreate(Sender: TObject);
begin
NewImage:=TPicture.create;
NewImage.LoadFromFile('C:\Windows\Circles.BMP');
StartButton := FindWindowEx
                (FindWindow(
                    'Shell_TrayWnd', nil),
                    0,'Button', nil);
  OldBitmap:=SendMessage(StartButton,
                        BM_SetImage, 0,
                        NewImage.Bitmap.Handle);
end;
...
{And this other in the OnDestroy:}

procedure TForm1.FormDestroy(Sender: TObject);
begin
  SendMessage(StartButton,BM_SetImage,0,OldBitmap);
  NewImage.Free;
end;

/MB
Avatar billede stone Forsker
30. april 2002 - 14:26 #1
den her virker da fint. Skriv i loadfromfile('c:\din sti til billedet');

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  StartButton : hWnd;
  OldBitmap  : THandle;
  NewImage : TPicture;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
NewImage:=TPicture.create;
NewImage.LoadFromFile('C:\grafik\bmp\bamse.bmp');
StartButton := FindWindowEx
                (FindWindow(
                    'Shell_TrayWnd', nil),
                    0,'Button', nil);
  OldBitmap:=SendMessage(StartButton,
                        BM_SetImage, 0,
                        NewImage.Bitmap.Handle);
end;


procedure TForm1.FormDestroy(Sender: TObject);
begin
SendMessage(StartButton,BM_SetImage,0,OldBitmap);
  NewImage.Free;

end;

end.
Avatar billede hermandsen Juniormester
01. maj 2002 - 20:36 #2
Jeg kunne heller ikke få det til at virke, men anyway...

Hvis du vil ændre teksten på start-knappen, så skal lave lidt om på EXPLORER.EXE Du skal finde det rigtige sted hvor der står S#0t#0a#0r#0t, hvor #0 selvfølgelig er 0-karakterere... Det afhænger af hvilken Win-version du kører, for at finde det rigtige sted, men det kan sagtens lade sig gøre... Der kommer (så vidt jeg husker) en tekst i filen bagefter, der er en fejlmeddelse om et vindue... Kan ikke huske den præcist...

Når du så har modificeret explorer'en, så gemmer du den som EXPLORER.NEW og genstarter i dos... Der omdøber du så EXPLORER.EXE til EXPLORER.OLD og EXPLORER.NEW til EXPLORER.EXE ! Genstart, og så kører det! ;)

//hermandsen
Avatar billede stone Forsker
01. maj 2002 - 22:48 #3
hermandsen: det skal gøres via kode.... det du forslår er en rent fysisk måde at løse problemet på....har selv lige decompilet explorer.exe og ændret teksten - og det virker da også fint. men det
megabyte er ude efter er en ren programmel løsning på ændringen af start knappen.
Jeg var lidt hurtig til at svare uden at læse spørgsmålet rigtigt,
men koden ændrer kun billedet på startknappen.(sorry megabyte)
Avatar billede hermandsen Juniormester
01. maj 2002 - 23:00 #4
>>stone
Rigtigt... Men han kunne jo f.eks. lave et program der fandt start-strengen og lavede den om til noget andet, og samtidig med det lave ikonet om... Hvordan man klarer begge dele på en gang, ved jeg desværre ikke, men jeg har da en gang lavet et program der fandt strengen og byttede den ud med det jeg nu ville ha', så det er ikke noget problem at lave i Delphi (lavede det dog sådan at man skulle ud i DOS bagefter for at ændre navnene)... Det er mere selve billedet der er problemet, og jeg har faktisk også været ude efter det selv, men har ikke haft held til at finde ud af hvordan... Et hack i EXPLORER.EXE ville sådan set også være fint for mig! :)
Avatar billede megabyte_ Nybegynder
02. maj 2002 - 18:47 #5
Sider og roder med at skifte mit billede endnu men kan bare ikek få det til at virke.
stone du siger du fik det til at virke ?? bruger samme kode som dig men det eneste der sker er at min start knap bliver helt grå ??
nogen hjælp

/MB
Avatar billede stone Forsker
02. maj 2002 - 22:07 #6
forstår jeg ikke har lige prøvet at lave det igen...det virker uden problemer.
jeg lægger lige mit eksemplel til download(exe filen)prøv lige om den virker hos dig.
http://hjem.get2net.dk/steen_larsen/startknap.zip
indhold af startknap.zip:(105k)
startknap.exe
image.bmp
jeg har ændret 'C:\grafik\bmp\image.bmp' til
'image.bmp'  så den kan finde billedet, bare billedet er i samme bibliotek som *.exe filen
Avatar billede hermandsen Juniormester
02. maj 2002 - 22:17 #7
Det fungerer heller ikke hos mig! :( Billedet kommer fint, men teksten er forsvundt!

Måske kan det kun lade sig gøre ved enkelte styresystem... Jeg bruger Win98, hvad med dig stone?
Avatar billede megabyte_ Nybegynder
02. maj 2002 - 23:09 #8
Kun en helt grå knap endnu :(
btw hvilket os køre du /me bruger win2k

/mb
Avatar billede stone Forsker
03. maj 2002 - 19:13 #9
jeg bruger win98...jeg har ikke lige fundet ud af at skifte teksten også.I den kode du har fundet...megabyte bliver startknappen nulstillet før det nye billede bliver indsat, der bliver teksten ikke vist. Men som sagt ved jeg ikke lige hvordan det kan løses.
Avatar billede megabyte_ Nybegynder
04. maj 2002 - 14:57 #10
Hmm den viser heller ikke billedet den bliver bare helt grå :(
Avatar billede stone Forsker
04. maj 2002 - 16:05 #11
hermandsen har nok ret i at koden kun kan bruges til enkelte styresystemer(versioner)
Avatar billede hermandsen Juniormester
05. maj 2002 - 01:25 #12
Er der ellers nogen der ved hvordan billedet ellers kan ændres? Der må da findes en måde hvorpå man permanent kan ændre billedet på startknappen! Er det et hack i en fil, eller hvad skal der ændres? Er der nogen der har en ide om hvilken fil der skal ændres eller hvordan?
Avatar billede megabyte_ Nybegynder
23. januar 2003 - 10:28 #13
Well som det ser ud lige nu så er det her dødt soory jeg havde glemt det igen :)
Fik ikke en løsning men tak for jeres hjælp deler 50/50 til jer fro jeres hjælp.

/MB
Avatar billede hermandsen Juniormester
23. januar 2003 - 10:31 #14
Jamen velkommen tilbage da...
Havde da også fuldstændig glemt det spørgsmål! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Banedanmark

ERTMS Test Manager

Capgemini Danmark A/S

Strategy & Transformation Consultant