<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Γλώσσες προγραμματισμού</title><link>https://www.dotnetzone.gr:443/cs/forums/74/ShowForum.aspx</link><description>Τα πρώτα βήματα στις γλώσσες VB6, VB.NET, και C#</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: TBBUTTON Struct σε Vista x64 επιστρεφει dwData παντα 0x0000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45407.aspx</link><pubDate>Mon, 13 Oct 2008 01:28:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45407</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45407.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=45407</wfw:commentRss><description>Δεν νομίζω ότι σου φταίει το MSDN? Αν δεν πρόσεξες τί γράφει και στην αρχή και στο τέλος του άρθρου? Εξάλλου μή σου φαίνεται περίεργο που το Google επέστρεψε πρώτα το Windows CE. Native coding πλέον γίνεται κυρίως για embedded εφαρμογές.</description></item><item><title>Απ: TBBUTTON Struct σε Vista x64 επιστρεφει dwData παντα 0x0000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45379.aspx</link><pubDate>Sun, 12 Oct 2008 04:26:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45379</guid><dc:creator>Decad</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45379.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=45379</wfw:commentRss><description>Akyro, ειχα λανθασμενο struct για windows CE..καταραμενο msdn..&lt;br&gt;To πρωτο αποτελεσμα για TBBUTTON ηταν windows CE στο google.&lt;br&gt;</description></item><item><title>Απ: TBBUTTON Struct σε Vista x64 επιστρεφει dwData παντα 0x0000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45377.aspx</link><pubDate>Sun, 12 Oct 2008 01:35:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45377</guid><dc:creator>Decad</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45377.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=45377</wfw:commentRss><description>Σε Vista x86 δουλευει..&lt;br&gt;Τι διαλο..&lt;br&gt;</description></item><item><title>TBBUTTON Struct σε Vista x64 επιστρεφει dwData παντα 0x0000</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45370.aspx</link><pubDate>Sat, 11 Oct 2008 20:06:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45370</guid><dc:creator>Decad</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45370.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=45370</wfw:commentRss><description>&lt;pre&gt;&lt;font size="4"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;[StructLayout(LayoutKind.Sequential, Pack &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 1)]&lt;br&gt;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;internal&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;struct&lt;/span&gt; TBBUTTON&lt;br&gt;    {&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; Int32 iBitmap;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; Int32 idCommand;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;byte&lt;/span&gt; fsState;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;byte&lt;/span&gt; fsStyle;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;byte&lt;/span&gt; bReserved1;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;byte&lt;/span&gt; bReserved2;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; UInt32 dwData;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; IntPtr iString;&lt;br&gt;    };&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;const&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;int&lt;/span&gt; BUFFER_SIZE &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 0x4096;&lt;br&gt;&lt;br&gt;var localBuffer &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;byte&lt;/span&gt;[BUFFER_SIZE];&lt;br&gt;&lt;br&gt;UInt32 processId;&lt;br&gt;&lt;br&gt;var tbButton &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; TBBUTTON();&lt;br&gt;&lt;br&gt;IntPtr hDesktop &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; User32.GetDesktopWindow();&lt;br&gt;IntPtr hTray &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; User32.FindWindowEx( hDesktop, IntPtr.Zero, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Shell_TrayWnd"&lt;/span&gt;, &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt; );&lt;br&gt;IntPtr hReBar &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; User32.FindWindowEx(hTray, IntPtr.Zero, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"TrayNotifyWnd"&lt;/span&gt;, &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt;);&lt;br&gt;IntPtr hTask &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; User32.FindWindowEx(hReBar, IntPtr.Zero, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SysPager"&lt;/span&gt;, &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt;);&lt;br&gt;IntPtr hToolbar &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; User32.FindWindowEx( hTask, IntPtr.Zero, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"ToolbarWindow32"&lt;/span&gt;, &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt; );&lt;br&gt;&lt;br&gt;UInt32 threadId &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; User32.GetWindowThreadProcessId(hToolbar, &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;out&lt;/span&gt; processId);&lt;br&gt;            &lt;br&gt;IntPtr hProcess &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Kernel32.OpenProcess(ProcessRights.ALL_ACCESS, &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;false&lt;/span&gt;, processId);&lt;br&gt;&lt;br&gt;IntPtr ipRemoteBuffer &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Kernel32.VirtualAllocEx(hProcess, IntPtr.Zero, &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; UIntPtr(BUFFER_SIZE),&lt;br&gt;                                    MemAllocationType.COMMIT, MemoryProtection.PAGE_READWRITE);&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;fixed&lt;/span&gt; (TBBUTTON* pTBButton &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &amp;amp;tbButton)&lt;br&gt;{&lt;br&gt;var ipTBButton &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; IntPtr(pTBButton);&lt;br&gt;                    &lt;br&gt;var b &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;int&lt;/span&gt;) User32.SendMessage(hToolbar, TB.GETBUTTON, (IntPtr) 1, ipRemoteBuffer);&lt;br&gt;                                            &lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;bool&lt;/span&gt; b2 &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; Kernel32.ReadProcessMemory(hProcess, ipRemoteBuffer, ipTBButton,&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; UIntPtr((&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;uint&lt;/span&gt;) &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;sizeof&lt;/span&gt;(TBBUTTON)), IntPtr.Zero);&lt;br&gt;&lt;br&gt;Console.WriteLine(tbButton.dwData &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;" dwData"&lt;/span&gt; );&lt;br&gt;                                                   &lt;br&gt;}&lt;/span&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font size="3"&gt;Καλησπέρα σε όλους , έχω ένα πρόβλημα με τον συγκεκριμένο κώδικα πιο πάνω.&lt;br&gt;&lt;br&gt;Το πρόβλημα είναι ότι ο κώδικας τρέχει σωστά σε Windows ΧΡ x86 αλλα όχι σε Vista x64 .&lt;br&gt;&lt;br&gt;Σε windows ΧΡ μπορώ να εκτυπώσω το tbButton.dwData από το TBBUTTON struct κανονικά για κάθε button&lt;br&gt;από το toolbar, ενώ αντίθετος στα Vista x64 , πάντα είναι 0x00000...&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;/pre&gt;</description></item></channel></rss>