Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

VB SendKey


SimasheR

Öne çıkan mesajlar

visual basic ile yaptığım bir exenin kendi içindeki bir form a key sentlemesini istiyorum. SendKey fonksiyonunu kullandım ve çalışıyo. ama benim sorunum

program arkaplanda veya system tray da çalışırken de kendi bünyesindeki form a tuş yollasın.
arka planda çalışırken o anda windowsun focused penceresine ne varsa tuşları oraya yolluyor.
bunu nasıl yapabileceğim hakkında bilgisi olanlar yardımcı olurlarsa sevinirim
Link to comment
Sosyal ağlarda paylaş

hmm ben yapmıştım bunu bi ara. nasıldı hatırlamıyorum. bi ara vardı kim daha çok yazıyor gibi bi sidik yarışı. onun için yazmıştım : )) programlama.com forumlarında yazıyor olsa gerek bunun için bişeyler .. 2004 sonu - 2005 yaz öncesi konuları arasında duruyordur muhtemelen vb bölümünde ....
Link to comment
Sosyal ağlarda paylaş

keylogger tarzı birşey yapmaya çalışıyorsun anladığım kadarıyla.. onun için windows API vardı. haha yarım saatlik araştırma sonucunda buldum :)

[DllImport("user32.dll�)]
public static extern int GetAsyncKeyState(long vKey);

yani user32.dll içerisinde GetAsyncKeyState fonksiyonu. bunu vb de nasıl kullanırsın o senin sorunun :) ama c# için örnek arıyorsan http://www.csharpnedir.com/makalegoster.asp?MId=442 a bakabilirsin.
Link to comment
Sosyal ağlarda paylaş

ahaha keyloggera bak stdcall fonksyon pointerı oldurulmuyor muymuş .nette? gerçi bi de dll gerek o oluyor mu ki? ehehe.

ah be, nice yiğit programcıları kaybediyoruz bu .net yollarında.

işin kötüsü cross-platform için de microsofta güveniyorlar boşuna performans kaybı. zaten ilerde de safi windozda çalışacak bu program, yap cbuilderla delphiyle hadi en berbat ihtimal vbyle..

aslında normal hookları da kullanmasınlar direkt .netle sürücü yazıp api hook yapsın nihohoho.

[ Mesaj 15 Mart 2006, Çarşamba - 17:39 tarihinde, Rahan tarafından güncellenmiştir ]
Link to comment
Sosyal ağlarda paylaş

burdaki amacım yazdığım program turkcell in web sms sitesine girecek kendi içindeki webbrowser formundan birkaç defa tab a basıcak ID ve PASS yazıcak falan ve SMS göndericek. bu sms ile serverin son durumu hakkında cebe bilgi gelicek. bu amaçla yapıyorum keylogger falan deil yani
Link to comment
Sosyal ağlarda paylaş

webbrowser bileşeni koyyosun bi dene. sonra sayfayı açtırıp

webbrowser1.document.form[0].value = "kullanıcı adı"
webbrowser1.document.form[1].value = "şifre"
webbrowser1.document.forum.submit

deyip login olayorsun. gerek yok öyle kastırmana.

yazdığım şeyler tam doğru olmayabilir ama webbrowser bileşeninin bu tip özellikleri var. document nesnesi altında hepisi. ararsan bulursun kesin bi kaç örnek.
Link to comment
Sosyal ağlarda paylaş

yok bu da kesmedi
o bahsettiğin kod
WB.Document.ActiveElement.Document.Forms(1).Children(0).InnerText
şeklindeymiş ancak sayfada iframe kullanılıyo sanırım o yüzden aradığı element i bulamıyo
iframesiz bi sayfada denedim başarılı oldu.
sanırım ben yine bu programın kendisini buldurup "sendKeys" yollatmaya kaldım.
bu konuda bi fikri olan varsa lütfen paylaşsın
Link to comment
Sosyal ağlarda paylaş

iframe i load edince parent sayfası olmadan anasayfaya atıyo. bende iframe i de işleme almayı deniyorum
inanıyorum ki az kaldı :)
son geldiğim nokta
WB.Document.Window.Frames.Item(0).Document.Forms(0).Children(1).InnerText = "deneme"
henüz çalışmasada
olucak
olucak
Link to comment
Sosyal ağlarda paylaş

Sonundaa..

Dim aaa As String
For Each aaa In WB.Document.Window.Frames(0).Frames.Item(0).Document.All().GetElementsByName("login").Item(0).TagName

WB.Document.Window.Frames(0).Frames.Item(0).Document.All().GetElementsByName("login").Item(0).InnerText = "admin"

RTB3.Text = RTB3.Text + aaa.ToString
Next


[ Mesaj 17 Mart 2006, Cuma - 23:56 tarihinde, SimasheR tarafından güncellenmiştir ]
Link to comment
Sosyal ağlarda paylaş

Fanatik low-level programci mantigini yine ortaliga gereksizce sacan insanlar halen var anlasilan. Herkes gidip C/C++ bilecek diye bir kaide yok. Elbet ki akli basinda bir .NET programcisi gene "gerekirse" asm'de kendi modulunu yazip hook'un en guzelini yapabilir. Hicbirimiz hindistanli degiliz sonucta burada. O kadar kendinize guveniyorsaniz Multitier distributed bir veritabani uygulamasini arada bir sapirsacma pointer hatalari verdirmeden C/C++ da yazin, scalable olsun, dahasi C# dilinde gelistirme suresiyle ayni surede gelistirilsin.

Yapabiliyorsaniz "ahahah stdcall fonksiyon pointeri.. " ifadelerini yazabilirsiniz.
Link to comment
Sosyal ağlarda paylaş

aıha şu anda üzerinde çalıştığım şey o söylediğin merak etme. C/C++ object oriented dizayn ve veritabanları konusunda emin ol ki ukalalık yapabilecek kadar tecrübeliyim. ortalıktaki pointerları da böyle tüylü tüylü reference counting sınıflar içerisine encapsulate etmek gibi huyum vardır ki ileride hataya mahal vermezler. ki zaten çoğunlukla stl ve iteratorleri kullanırım pek pointer sorunum olmaz. (edik; yalnız o dediğin C# la aynı sürede yazılmaz, C/C++'ın kullanım amacı maliyetinin düşüklüğü değil performans.)

ayrıcana java varken xplatform için microsofta güvenen bir de üstüne virtual machine için os spesifik kod yazan/yazmayı öğreten adama gülerim ben evet. gülerim.

[ Mesaj 23 Mart 2006, Perşembe - 16:16 tarihinde, Rahan tarafından güncellenmiştir ]
Link to comment
Sosyal ağlarda paylaş

ben de programlama ile programla dili bilmek/kullanmak arasındaki farkı bilmeyenlere gülerim.
programlama ne demektir? bir şeyi planlamak, nasıl yapılacağını ortaya koymaktır. bu işlem de genelde kağıt üzerinde yapılır (ya da yapılmalıdır). bu işlemde hangi dilde yazılacağı falan da önemli değildir. sen ortaya yolu koyarsın, bundan sonrası o yolu nasıl gideceğindir.
ayrıca her ne kadar ms kendi işletim sistemleri dışında cross-platform olayına gitmese de, farklı dilleri tek bir çatı altında toplayabilen tek platformdur. 50 kişi 50 farklı dilde modüllerini yazsınlar sonra birleştirsinler, çok kolaylıkla yapabilirler. hatta web servisleri, mobil servisleri gibi şeylerle kolayca entegre edebilirler.

(ukalalık yapmak bir konuyu bildiğinde gözardı edilebilecek, hoş görülebilecek bir şey değildir, ne zaman olursa olsun bir zaaf olarak kalır)
Link to comment
Sosyal ağlarda paylaş

Derdiniz performans ise gidip programlarinizi ASM x86/64 dillerinde yazmanizi siddetle tavsiye ederim, "hah 4 instructionluk cycle kurtardim" seklinde zevk nidalari atabilirsiniz. Ciddi sekilde .NET performansina bok surmek isterseniz, gelistirdiginiz C/C++ uygulamalari her WinNT mimarili ve bilimum farkli konfigurasyonda maksimum hizla calisiyor mu once bunu incelemek gerek. Native instructionlar haline cevrilmis kod malesef statik, ortamin nimetlerinden faydalanamiyor. Microsoft bir ara kimi benchmarklarda CLR'in islemciye, isletim sistemine, islemci sayisina gore kendisini optimize ederek programin C/C++'dan dahi hizli calistigi ufak noktalari gosterdi.(Evet simdilik hayal belki, zira cogu sirket, calisan basina 50 islemci vermiyor) O da yetmezse, .NET SDK icinde gelen ngen.exe kullanilarak oldukca hizli hale getirilebiliyor zaten uygulamalar.

.NET dilleri(Ozellikle de C# ki bunlar benim kisisel gorusum) hizli calisan uygulamalar gelistirmek icin degil, guvenli, zamana bagli olarak genisletilebilir, mirascilarinin hatalarini enterprise uygulamalar icin olabildigince elimine etmis(COM+, DLL Hell gibi kavramlar), isletim sistemi ile olabildigince entegrasyonunu gerceklestirebilmis, code-access security gibi kisitlamalarla zekice duzenlenebilen sirket-capinda uygulamalar gelistirmek icindir, WoW yazmak veya nukleer patlama simulasyonu gelistirmek icin degildir.


Dip Not : Evet, ben de low-level program gelistiriyorum (ASM x86 ve C) fakat C# ile farkli dunyalar bunlar, en azindan bu ayrimi yapabilip ust seviyedekilere laf soylemiyorum.

Kolay gelsin
Link to comment
Sosyal ağlarda paylaş

said:
ben de programlama ile programla dili bilmek/kullanmak arasındaki farkı bilmeyenlere gülerim.
evet zaten benim yaptığım da o .NETin saçma sapan şekillerde kullanılmasına gülmek

said:
programlama ne demektir? bir şeyi planlamak, nasıl yapılacağını ortaya koymaktır. bu işlem de genelde kağıt üzerinde yapılır (ya da yapılmalıdır).
o işin sadece dizayn kısmı. ben gavurların implemantation dediği şeyden bahsediyorum.
said:
bu işlemde hangi dilde yazılacağı falan da önemli değildir.
ne demek dili önemli değildir? Javayla 3ds oyun yapılır mı? php'yle render engine olur mu? C++ websitesi scripti yazmak için fazla gereksiz değil mi?

.NET de öyle keyloggerımsı şeyler yazmak için komik. hatta api call yapmak bile saçma. (hayır madem os spesifik yazıyon git C++ builder kullan git delphi kullan, en kötü ihtimal Visual basic kullan yau. en azından yanında 20 mblık framework gezdirmezsin)

said:
ayrıca her ne kadar ms kendi işletim sistemleri dışında cross-platform olayına gitmese de, farklı dilleri tek bir çatı altında toplayabilen tek platformdur. 50 kişi 50 farklı dilde modüllerini yazsınlar sonra birleştirsinler, çok kolaylıkla yapabilirler. hatta web servisleri, mobil servisleri gibi şeylerle kolayca entegre edebilirler.
yıllardır yapılan bir şey o, standart dll tanımladığında oldu bitti isteyen istediği dille yazar. öyle zor dersen de ole/COM/Activex nesneleri kullan, onları yaratmak dile özel değil, hatta çoğu compiler com için hazır proje bile sunar. böyle müthiş yapılamaz şeyler değil bunlar yapmayın.

said:
(ukalalık yapmak bir konuyu bildiğinde gözardı edilebilecek, hoş görülebilecek bir şey değildir, ne zaman olursa olsun bir zaaf olarak kalır)
zaaf? hmm sanmıyorum. gerektiği yerde gerektiği zamanda gerektiği dille yapıldığında zaaf falan değil, bilakis etkili bir silah.
Link to comment
Sosyal ağlarda paylaş

said:
ne demek dili önemli değildir? Javayla 3ds oyun yapılır mı? php'yle render engine olur mu? C++ websitesi scripti yazmak için fazla gereksiz değil mi?

.NET de öyle keyloggerımsı şeyler yazmak için komik. hatta api call yapmak bile saçma. (hayır madem os spesifik yazıyon git C++ builder kullan git delphi kullan, en kötü ihtimal Visual basic kullan yau. en azından yanında 20 mblık framework gezdirmezsin)

dizayn aşamasında diyorum, dil önemli değildir. diagramlar çizersin, akış şeması yaparsın. sonra o parçaya uygun dili seçer yaparsın.

asıl konu şu; neden ben kendimi kısıtlayayım? .net de api çağırılamaz diye bir kural mı var? doğru, adamlar herşeyi managed hale getirmeye çalışıyor ama gerektiği yerde de kullanırsın. Mesela çoğu projemde GetTickCount gerekir, ben de çağırırım onu. Çağırmayayım mı? ya da neden os spesifik kod yazmayayım? zaten benim yazdığım kod bir el bilgisayarında kullanılmayacak. sadece windowsta çalışacak diye kullanmayayım mı?
framework olayına gelince, vb için yine birşeyler indirmen gerek. ama şu anda zaten default olarak windowslarda olan bişi, o yüzden kimsede sorun olmuyor vb uygulamaları. microsoft windowsun yeni sürümlerinde, yeni sp lerde zaten gerekli frameworku koyar. biraz zaman meselesi..

hayır burada yaptığımız projeler çok mu büyük projeler? öenmli olan hangi dili kullandığın değil, sonuç. aman burda C# kullanılmaz, aman API çağırma. desen şu yüzden çağırma tamam.. sadece saçma diyorsun.

(bir de kendini iş hayatına çok mu kaptırdın, "ye ya da yem ol" kitaplarından falan mı okudun bilmiyorum ama ne demek ukalalık etkili bir silahtır. burada bizi düşman görüyorsan, ezmek istiyorsan tamam)
Link to comment
Sosyal ağlarda paylaş

ben anlamadım, microsoft apilerini microsoftun yazılım dillerinden etkin kullanabilen dil mi var? niye c# ile microsoft apisi kullanmıyoruz? ya da niye keylogger yazmıyoruz? zaten meret her fonksiyonu tepside sunuyor.

bir an bu anlamsız sidik yarışının içine çekilir gibi hissettim kendimi.

[ Mesaj 24 Mart 2006, Cuma - 10:54 tarihinde, Mum_Chamber tarafından güncellenmiştir ]
Link to comment
Sosyal ağlarda paylaş

sabahtan beri anlatmaya çalışıyorum neden saçma dediğimi anlamıyor musun sailor'um?

"madem os spesifik kod sana uyuyor, madem yazdığın program sadece windowsta ve hatta kullandığın api ye göre belki windows'un sadece belirli sürümlerinde çalışacak, ne diye gerçek machine gerçek işlemciyle gerçek işletim sistemiyle arana "virtual machine" koyuyorsun?"

çok mu zor bunu anlamak? virtual machine cross platform için icad edilmiş bir şey, yazarsın programını pc linux'da çalılşır pda'da da windowsda da apple'da da eğer süfer bişilerse buzdolabında da. madem kodunu sadece windowsda çalıştırabileceksin ne diye performanstan kaybediyorsun? ne diye daha oturmamış etmemiş sistemin üzerine gidiyorsun?

madem sen windowsa özel kod yazacaksın kullan borlandı delphiyi her taraf delphi componenti kaynıyor, yılların derleyicisi, canavar gibi native kod? visual basic kullan, nebleyim bi ton yepsiyeni phytonndur rubydir oop güzeli diller var onları kullan (native derleniyor mu bilmiyorum) manyağım ben diyorsan C++ için yazılmış garbage collectorler var, yüz binlerce bedava kütüphane milyarlarca satır beleş kod var.

kimseyle sidik falan yarıştırmıyorum microsoft'un absürd politikasına bok atıyorum siz neyine alınyorsunuz? (tabi bi de microsoftun bu absürd politikasına kapılanlara da hafif sıçrıyo atarken. hmm.)

(burda kimseyi ezmek gibi bi derdim yok ukalalık yapmak bana göre silahtır ve bunun böyle olması,şu anda ukalalık yaptığım ve bunu silah olarak kullandığım anlamına gelmez.)

[ Mesaj 24 Mart 2006, Cuma - 11:33 tarihinde, Rahan tarafından güncellenmiştir ]
Link to comment
Sosyal ağlarda paylaş

zaten sadece uygulama açılırken native kod haline çevirliyor, orada belki 2 saniya kaybetmek benim için sorun oluşturmuyor. delphiyi çok daha önceden kullanmama rağmen kendimi asıl c# ta geliştirdim; şimdi de bana en rahat gelen dil o, o yüzden onu kullanıyorum. hayır benim için bildiğim, rahatça çalışabildiğim ve derinlerine indiğim dili bırakıp c++ ta kod yazmamım bana ne yararı olacak? zaten bir makinede yazdığın kodun diğerinde çalışmadığı bir dil olan c/c++ (abartıyorum tabi fakat compilerler arası bile müthiş fark var) kullanmaktansa herşeyiyle standart olan dilleri kullanmayı tercih ederim. delphi, vb, .net dilleri gibi mesela. en azından yanımda bir sürü lib taşımak zorunda kalmam :)
Link to comment
Sosyal ağlarda paylaş

said:
Derdiniz performans ise gidip programlarinizi ASM x86/64 dillerinde yazmanizi siddetle tavsiye ederim, "hah 4 instructionluk cycle kurtardim" seklinde zevk nidalari atabilirsiniz.

Evt, mesela 14 kat daha hızlı çalışan programlar yazabiliriz.
Örneğin hâla bir türlü desteklenemeyen MMX teknolojisi kullanabiliriz... biraz asm herkese lazım...

said:
Microsoft bir ara kimi benchmarklarda CLR'in islemciye, isletim sistemine, islemci sayisina gore kendisini optimize ederek programin C/C++'dan dahi hizli calistigi ufak noktalari gosterdi.


Böyle bir olayın olmadığını belirteyim. Öncelike çoklu cpu'a sahip sistemler için nasıl iyileştirmeler yapılır ? bu konuyu araştırdığınızda söylediğinizin mantık cerçevesi içinde olmadığını anlayacaksınız. Biraz daha gittiğinizda bu makinaların genelde dev gibi ram'lerini olduğunu ve server için kullanıldığını görecek, .net ile server yazılımlarınında zaten geliştirilemediği gerçeği ile yüzleşeceksiniz..
Fakat şüpesiz ki bu sözlerim size hiç birşey ifade etmez, gerçekleri sizin bizzat yaşamanız, kendi gözlerinizle görmeniz lazım. Siz bi ucundan başlayın... :)

said:
Dip Not : Evet, ben de low-level program gelistiriyorum (ASM x86 ve C) fakat C# ile farkli dunyalar bunlar, en azindan bu ayrimi yapabilip ust seviyedekilere laf soylemiyorum.

Bu görüşünüzün temel nedeni henüz yeterli tecürbeye ulaşmamanız. Umarım en kısa zamanda açığınızı kaparsınız.

Sanırım gene maksadını aşan bir yazı oldu, her neyse sağlıcakla kalın...

[ Mesaj 24 Mart 2006, Cuma - 22:21 tarihinde, Maleboge tarafından güncellenmiştir ]
Link to comment
Sosyal ağlarda paylaş

Henuz okumamis iseniz, siddetle Jeffrey Richter/Microsoft Press - Applied Microsoft .NET Programming kitabina goz gezdirebilirsiniz. Orada yeterince CPU/OS tabanli optimizasyondan bahsediliyor.
Asm/C ile C#'i ayni kefeye koydugunuz icin henuz yeterli olgunluga erismediginizi dusunuyorum.

--edit--

said:
çok mu zor bunu anlamak? virtual machine cross platform için icad edilmiş bir şey, yazarsın programını pc linux'da çalılşır pda'da da windowsda da apple'da da eğer süfer bişilerse buzdolabında da. madem kodunu sadece windowsda çalıştırabileceksin ne diye performanstan kaybediyorsun? ne diye daha oturmamış etmemiş sistemin üzerine gidiyorsun?


Java cross-platform icin kullaniyor diye MS'in de ayni sekilde kullanmasina gerek yok. Dahasi, Win98'de calisan uygulamalarinizin kac tanesi WinXP de calisiyor, bunu da bi sorgulamak sart.

[ Mesaj 28 Mart 2006, Salı - 11:31 tarihinde, Leath tarafından güncellenmiştir ]
Link to comment
Sosyal ağlarda paylaş

ya bırakın hiç biriniz birşey bilmiyorsunuz ben kralım ! 0_o

ben ne adamlar gördüm birşey bilmiyipte milyonlar kazanan ve emin ol böyle bilipte birşey kazanamayan adamlar gördüm..o yüzden maksada gelin hayatın gerçeklerine gelin böyle tartışmayın..

ben senden daha fazla işerim, yok yok ben daha ileri işerim muhabbeti boş..heralde üniversite öğrencilerisiniz veya mezunsunuz o yüzden icraata bakmak ve bildiklerimizi sakin şekilde paylaşmak en güzeli..

dünyada barışın olmasını istiyorum ben !!! :P
Link to comment
Sosyal ağlarda paylaş

said:
Java cross-platform icin kullaniyor diye MS'in de ayni sekilde kullanmasina gerek yok. Dahasi, Win98'de calisan uygulamalarinizin kac tanesi WinXP de calisiyor, bunu da bi sorgulamak sart.
"java cross platform olduğu için mi ms de cross platform olmalı" mı demişim yoksa, ".net virtual machine olduğu ve virtual machine denen kavramın cross platform uygulama geliştirmeyi kolaylamak amacıyla ortaya atıldığı için mi m$ da cross platform yapsın demişim?

bakın daha ağırdan gidelim;
1-programcılar cross platform progarm yapmak istemişler
2-virtual machine diye bir fikir ortaya atılmış, performans kaybı veya benzeri konular cp'nin kazançlarına feda edilmiş.
3-sun javayı yazmış güçlenmiş sistemi oturtmuş, iyi kötü çalışıyo programlar.
4-m$ bunu taklit etmiş ama cross platform özelliğini yok etmiş.

yani sen 1 isteğini karşılayana alternatif olarak 4 ü yapıyorsun ama yaptığın 1 i karşılayamıyor. ayrıca karşılayacak gibi de görünmüyor.

mantıklı mı bu?

[ Mesaj 28 Mart 2006, Salı - 12:39 tarihinde, Rahan tarafından güncellenmiştir ]
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...