Görev Çubuğunda UserForm Görünmesi için API

API - Application Programming Interface
Yazılım Programlama Arayüz Uygulaması

Cevap: Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#21)  ajan83 » 02 Haz 2014 18:24

Tarkan VURAL yazdı:Bu konu hakkında bilgi veremiyorum. Araştırma yapmak gerek. [ilginc]


Teşekkürler. Ancak Win8 ile uyumlu değil galiba.
Kullanıcı avatarı
ajan83
Siteye Alışmış
 
Adı Soyadı:Acun CAN
Kayıt: 04 Nis 2014 13:07
Konum: İZMİR
Meslek: SİGORTA
Yaş: 36
İleti: 119
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İZMİR / KARŞIYAKA

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#22)  Tarkan VURAL » 02 Haz 2014 20:29

Win8 ile deneyemedim çünkü kullandığım işletim sistemi Win7. API' leri 64bit için uyarlamanız çözüm olabilir.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 46
İleti: 27074
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#23)  sincann » 05 Şub 2015 17:22

Bende aşağıdaki gibi bir hata çıkıyor.

hata.JPG

Sanırım çözümünüz şu şekilde:
Tarkan VURAL yazdı:Win8 ile deneyemedim çünkü kullandığım işletim sistemi Win7. API' leri 64bit için uyarlamanız çözüm olabilir.


Ancak bunu nasıl yapabiliriz? (işletim sistemim Windows 7 x64bit)
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
sincann
Siteye Alışmış
 
Adı Soyadı:Miraç Sürgün
Kayıt: 24 Eyl 2012 11:51
Konum: ankara
Meslek: ins muh
Yaş: 49
İleti: 161
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara/balgat

Cevap: Cevap: Cevap: Görev Çubuğunda UserForm Görünmesi için

İleti#24)  sincann » 10 Şub 2015 10:28

sincann yazdı:Bende aşağıdaki gibi bir hata çıkıyor.

hata.JPG

Sanırım çözümünüz şu şekilde:
Tarkan VURAL yazdı:Win8 ile deneyemedim çünkü kullandığım işletim sistemi Win7. API' leri 64bit için uyarlamanız çözüm olabilir.


Ancak bunu nasıl yapabiliriz? (işletim sistemim Windows 7 x64bit)


Bu sorunu kodlara aşağıdaki altı çizgili kodu ekleyerek düzelttim.

Private Declare PtrSafe Function... detaylı bilgi için http://www.excelvba.net/viewtopic.php?f=4&t=19393&p=145868&hilit=64bit+api#p145868 linkinden faydalandım.



Tarkan VURAL yazdı:Biraz araştırdım, Ivan amca bir şeyler yazmış.

Kod: Tümünü seç
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" ( _
ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long

Private Declare Function FindWindowA Lib "user32" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Const WM_SETICON = &H80
Private Const ICON_SMALL = 0&
Private Const ICON_BIG = 1&
Private Const GWL_EXSTYLE = (-20)
Private Const GWL_STYLE As Long = (-16)
Private Const WS_EX_APPWINDOW = &H40000
Private Const WS_SYSMENU As Long = &H80000
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX As Long = &H10000

Dim lFrmWndHdl As Long
Dim lStyle As Long
Dim hIcon As Long

Private Sub UserForm_Activate()
lFrmWndHdl = FindWindowA(vbNullString, Me.Caption)
lStyle = GetWindowLong(lFrmWndHdl, GWL_STYLE)
lStyle = lStyle Or WS_SYSMENU
lStyle = lStyle Or WS_MINIMIZEBOX
SetWindowLong lFrmWndHdl, GWL_STYLE, (lStyle)
lStyle = GetWindowLong(lFrmWndHdl, GWL_EXSTYLE)
lStyle = lStyle Or WS_EX_APPWINDOW
SetWindowLong lFrmWndHdl, GWL_EXSTYLE, lStyle
hIcon = Image1.Picture.Handle
Call SendMessage(lFrmWndHdl, WM_SETICON, ICON_SMALL, ByVal hIcon)
Call SendMessage(lFrmWndHdl, WM_SETICON, ICON_BIG, ByVal hIcon)
DrawMenuBar lFrmWndHdl
End Sub


Yukarıdaki kodları 64bit ile uyumlu hale getirdiğim halde görev çubuğunda resimde gösterilen biçimde icon gözükmüyor maalesef.
Kullanıcı avatarı
sincann
Siteye Alışmış
 
Adı Soyadı:Miraç Sürgün
Kayıt: 24 Eyl 2012 11:51
Konum: ankara
Meslek: ins muh
Yaş: 49
İleti: 161
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara/balgat

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#25)  enesyigit3492 » 18 Haz 2019 07:56

Merhaba,
Tarkan Bey paylaştığınız konu çok yardımcı oldu. Sadece bu icon ekleme olayını çözemedim. Renk derinliğini ne yaparsam yapayım .ico olarak eklediğimde invalid picture hatası alıyorum. .bmp olarak eklediğim de ise eklediğim icon yerine kare kutu gözüküyor.

Yardımınızı rica ederim.
Kullanıcı avatarı
enesyigit3492
Yeni Başlamış
 
Kayıt: 20 Oca 2017 20:47
Meslek: Elektronik
Yaş: 27
İleti: 67
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul

Önceki

Forum Excel ve API

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe