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 20: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 15:07
Konum: İZMİR
Meslek: SİGORTA
Yaş: 35
İleti: 114
 
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 22: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 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26766
 
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 19: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 13:51
Konum: ankara
Meslek: ins muh
Yaş: 48
İ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 12: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 13:51
Konum: ankara
Meslek: ins muh
Yaş: 48
İleti: 161
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ankara/balgat

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama
Ö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