Search Results

Search found 14419 results on 577 pages for 'x window'.

Page 33/577 | < Previous Page | 29 30 31 32 33 34 35 36 37 38 39 40  | Next Page >

  • Passing in defaults within window.onload?

    - by Matrym
    I now understand that the following code will not work because I'm assigning window.onload to the result of the function, not the function itself. But if I remove the parens, I suspect that I have to explicitly call a separate function to process the config before the onload. So, where I now have: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <script type="text/javascript" src="lb-core.js"></script> <script type="application/javascript"> var lbp = { defaults: { color: "blue" }, init: function(config) { if(config) { for(prop in config){ setBgcolor.defaults[prop] = config[prop]; } } var bod = document.body; bod.style.backgroundColor = setBgcolor.defaults.color; } } var config = { color: "green" } window.onload = lbp.init(config); </script> </HEAD> <body> <div id="container">test</div> </body> </HTML> I imagine I would have to change it to: var lbp = { defaults: { color: "blue" }, configs: function(config){ for(prop in config){ setBgcolor.defaults[prop] = config[prop]; } }, init: function() { var bod = document.body; bod.style.backgroundColor = setBgcolor.defaults.color; } } var config = { color: "green" } lbp.configs(config); window.onload = lbp.init; Then, for people to use this script and pass in a configuration, they would need to call both of those bottom lines separately (configs and init). Is there a better way of doing this? Note: If your answer is to bundle a function of window.onload, please also confirm that it is not hazardous to assign window.onload within scripts. It's my understanding that another script coming after my own could, in fact, overwrite what I'd assigned to onload.

    Read the article

  • wpf window refresh works at first, then stops

    - by mcl
    I've got a routine that grabs a list of all images in a directory, then runs an MD5 digest on all of them. Since this takes a while to do, I pop up a window with a progress bar. The progress bar is updated by a lambda that I pass in to the long-running routine. The first problem was that the progress window was never updated (which is normal in WPF I guess). Since WPF lacks a Refresh() command I fixed this with a call to Dispatcher.Invoke(). Now the progress bar is updated for a while, then the window stops being updated. The long-running work does eventually finish and the windows go back to normal. I have already tried a BackgroundWorker and quickly became frustrated by a threading issue related to an event triggered by the long-running process. So if that's really the best solution and I just need to learn the paradigm better, please say so. But I'd be really much happier with the approach I've got here, except that it stops updating after a bit (for example, in a folder with 1000 files, it might update for 50-100 files, then "hang"). The UI does not need to be responsive during this activity, except to report on progress. Anyway, here's the code. First the progress window itself: public partial class ProgressWindow : Window { public ProgressWindow(string title, string supertext, string subtext) { InitializeComponent(); this.Title = title; this.SuperText.Text = supertext; this.SubText.Text = subtext; } internal void UpdateProgress(int count, int total) { this.ProgressBar.Maximum = Convert.ToDouble(total); this.ProgressBar.Value = Convert.ToDouble(count); this.SubText.Text = String.Format("{0} of {1} finished", count, total); this.Dispatcher.Invoke(DispatcherPriority.Render, EmptyDelegate); } private static Action EmptyDelegate = delegate() { }; } <Window x:Class="Pixort.ProgressWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Pixort Progress" Height="128" Width="256" WindowStartupLocation="CenterOwner" WindowStyle="SingleBorderWindow" ResizeMode="NoResize"> <DockPanel> <TextBlock DockPanel.Dock="Top" x:Name="SuperText" TextAlignment="Left" Padding="6"></TextBlock> <TextBlock DockPanel.Dock="Bottom" x:Name="SubText" TextAlignment="Right" Padding="6"></TextBlock> <ProgressBar x:Name="ProgressBar" Height="24" Margin="6"/> </DockPanel> </Window> The long running method (in Gallery.cs): public void ImportFolder(string folderPath, Action<int, int> progressUpdate) { string[] files = this.FileIO.GetFiles(folderPath); for (int i = 0; i < files.Length; i++) { // do stuff with the file if (null != progressUpdate) { progressUpdate.Invoke(i + 1, files.Length); } } } Which is called thusly: ProgressWindow progress = new ProgressWindow("Import Folder Progress", String.Format("Importing {0}", folder), String.Empty); progress.Show(); this.Gallery.ImportFolder(folder, ((c, t) => progress.UpdateProgress(c, t))); progress.Close();

    Read the article

  • Gui window Positioning in Autohotkey

    - by Hitesh Chavda
    In Autohotkey, I want to position my Gui window to right bottom of the screen but how? For illustrate, +--------------------------------------+ | Desktop (screen) | | | | | | +----------+ | | | Gui | | | | window | | | | | | | | | | | +----------+ | +--------------------------------------+

    Read the article

  • Chrome Facebook Connect Window Resize

    - by yuval
    I am experiencing a weird issue in Google Chrome for Mac OS X (10.6). I am using the JS Facebook Connect library and FB.Connect.streamPublish to share a story on a users profile. If the user is already logged in to Facebook prior to coming to the share page on my site, there's no problem - the window opens as an absolutely positioned div above the rest of my site. If the user is not logged in, though, a pop-up window opens that asks the user to log in. This works perfectly in Firefox, but when using Chrome, when the Facebook login window opens, it starts gradually resizing itself until it becomes a narrow column - when manually resizing the window, it gradually reverts back to the narrow column. I googled this problem and found that some users are experiencing the same issue, but I could not find a solution. Does anybody know anything about this? UPDATE: I filed a bug report at the Facebook Platform Bugzilla - Bug #9159

    Read the article

  • Custom C# Compiler and MSDOS Window

    - by j-t-s
    Hi All I've just got my own little custom c# compiler made, using the article from MSDN. But, when I create a new Windows Forms application using my sample compiler, the MSDOS window also appears, and if I close the DOS window, my WinForms app closes too. How can I tell the Compiler? not to show the MSDOS window at all? Thank you :)

    Read the article

  • location.hash in an iframe scrolls the parent window

    - by Ben Clayton
    Hi all. I have a page with an iframe. Inside the iframe is code (that I can't change) that sets location.hash to the id of an element in the iframe window. This has the unwanted effect of scrolling my outermost browser window so that the top of the window touches the top of the iframe. This is quite annoying as I have a toolbar above the iframe that is vital to my app. Is there any way of preventing the setting of location.hash affecting the scroll position of the main window? Will preventDefault help me out here? Thanks!

    Read the article

  • IE8 window.opener problems

    - by fire
    Having problems with IE8... I have a button that onclick fires the showImageBrowser() function. function showImageBrowser(params) { var open = window.open('http://localhost/admin/browse?'+params,'newwin','toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=950,height=500'); if (!open) { alert('Could not open the image browser, please disable your popup blocker.'); } } Now in the image browser when you click on an image it calls this function: function selectFile(url, el) { window.opener.replaceImage('Test_Image', url); window.close(); } Which is calling the replaceImage() function in the parent window, as expeted. This is the code: function replaceImage(el, url) { $('#'+el).html('<a href="'+url+'" target="_blank" class="image">'+basename(url)+'</a>'); $("input[name='"+el+"']").val(url); } Now if you click on the original showImageBrowser() button for the second time, IE will bring up the window but this time it freezes for a few seconds and then you get the alert "Could not open the image browser, please disable your popup blocker." This works fine in Firefox (obviously) but not in IE. I haven't even tried it in IE7/6 because if it doesn't work in 8 then I know I'm going to have problems. Any advice?

    Read the article

  • Best Method for Minimizable Fullscreen Window

    - by kaykun
    Hi, I'm coding a short game in C++ and Win32, and I want to be able to make it in fullscreen with a fixed size. I also want the user to be able to switch focus between the game window and other windows as much as he/she wants without any weird screen glitches. So far I know of the ChangeDisplaySettings function and creating the window with the WS_POPUP style at initialization to make it fullscreen. To detect the user switching focus to other windows by way of alt+tab or otherwise, what messages should I be handling on the window's WndProc or should I be using another function? When loss of focus is detected should I only call ChangeDisplaySettings(NULL, 0); or are there other functions I should call as well? And what method should I use to handle focus back into the window? Also can anyone give me some info on how to make it work smoothly for different screen sizes? Thanks for any help.

    Read the article

  • Automatically Sizing UIView after Adding to Window

    - by Kristopher Johnson
    I have an iPad app that switches between different views in its main window. The view-switching code looks like this: - (void)switchToViewController:(UIViewController*)viewController { if (currentViewController != viewController) { [currentViewController.view removeFromSuperview]; currentViewController = viewController; [window addSubview:viewController.view]; } } The problem is that when the new view (a UISplitView) appears in landscape orientation, it is not sized to fill the entire window. There is an empty black space on the right. If I rotate the device and then rotate back, the view sizes itself properly. If the device is in portrait orientation, everything works fine. The UISplitView also gets sized properly if it is the first view I show. The problem only occurs if I switch to it after another view has been shown, in landscape. So, is there some way to force iPhone OS to resize the view after it has been added to the window? I've tried calling sizeToFit, but it didn't work. I've also tried setting the view's bounds to the window's bounds, and I've tried setting the frame.

    Read the article

  • How to get access to a window that is loaded into a panel

    - by Sandor Drieënhuizen
    I'm loading an external script (that creates a new window component) into a panel, which works fine. Now, I want to access the created window from a callback function to register a closed event handler. I've tried the following: panel.load({ scripts: true, url: '/createWindow', callback: function(el, success, response, options) { panel.findByType("window")[0].on("close", function { alert("Closed"); }); } }); However, the panel seems to be empty all the time, the findByType method keeps returning an empty collection. I've tried adding events handlers for events like added to the panel but none of them got fired. So the question is: how do I access the window in the panel to register my close event handler on it?

    Read the article

  • Test Results window in VS2008 not showing results

    - by TimK
    I have an existing solution that has been working for a long time, containing around 600 tests in a couple of test projects. I recently moved to a new PC - it's Win7-x64, and I installed a fresh copy of VS2008. When I first opened the solution on the new machine, the Test List Editor was completely empty. Trying to create a new test list caused the editor to refresh, and now it shows my test lists, but they're acting funny. I can select tests in the lists, and run them, but the results window doesn't usually update automatically to show the results of the latest test. It has done this when running a single test a couple of times, but even that is not consistent. The only way I can view the results is by manually going to the Test Runs window and connecting to individual test runs. When I do that, the results show up in the results list, but I can't check them to re-run the failed tests - the check boxes are all disabled. I guess I should describe the way it used to work, in case that was unusual - I used to select some tests from the Test Lists window, tell it to run them, and the results window would clear itself, and then display the results from the current run. I could then check any tests that I wanted to re-run, and use the run/debug button in the results window to do so. Any ideas what's going on here?

    Read the article

  • Handling messages for window from other process

    - by MK
    I'm developing a C# WPF application that reparents the main window of another application using a call to Win32 SetParent(). The handle to this out-of-process child window is wrapped by a class named FormHost which is derived from HwndHost. All is working well except for one thing: messages for the reparented window are not delivered to FormHost. MSDN documentation clearly states that the HwndHost window procedure WndProc() cannot be used with out-of-process windows. The alternative, MessageHook doesn't work either. I also tried calling AttachThreadInput() to combine the input processing of the two windows. No luck. Any suggestions?

    Read the article

  • Adding an item to an existent window

    - by farhad
    Hello! How can i add an item to an existent window? I tried win.add() but it does not seem to work. Why? This is my piece of code: function combo_service(winTitle,desc,input_param) { /* parametri */ param=input_param.split(","); /* della forma: param[0]="doc1:text", quindi da splittare di nuovo */ /* cosi' non la creo più volte */ win; if (!win) var win = new Ext.Window({ //title:Ext.get('page-title').dom.innerHTML renderTo:Ext.getBody() ,iconCls:'icon-bulb' ,width:420 ,height:240 ,title:winTitle ,border:false ,layout:'fit' ,items:[{ // form as the only item in window xtype:'form' ,labelWidth:60 ,html:desc ,frame:true ,items:[{ // textfield fieldLabel:desc ,xtype:'textfield' ,anchor:'-18' }] }] }); win.add({ // form as the only item in window xtype:'form' ,labelWidth:60 ,html:desc ,frame:true ,items:[{ // textfield fieldLabel:desc ,xtype:'textfield' ,anchor:'-18' }]}); win.show(); }; What's wrong with my code? Thank you very much.

    Read the article

  • PyGTK, Glade, Changing the window view and threads

    - by Gaunt Face
    Heya Everyone, Forgive me if this seems like a stupid question, just so far no where on the internet can I find someone offering a solution to this and I just wanted to get some feedback from someone with more experience than myself (I've only been using python, pyGTK and Glade for 2 days now). I have a UI window displaying and it updates with messages from a thread that is handling a bluetooth connection. This is fine and I have the application closing and running quite reliably, the problem is, after a bluetooth connection is made I wish to maintain the bluetooth thread (i.e. keep the connection going) but completely change the UI of the main window. Now the impression I am getting from pyGTK applications made from glade, is that the easiest thing to do is just open a new window. Is this really the best option? Can I cut the tree of widgets off at the root, maintaining the window widget but add on a new set of widgets from a separate glade file? If opening a new window is the best option, am I right in assuming that the bluetooth thread can be kept alive during this transition, providing I update any callbacks? Any help or pointers would be great. Cheers, Matt

    Read the article

  • ExtJS: adding an item to an existent window

    - by farhad
    Hello! How can i add an item to an existent window? I tried win.add() but it does not seem to work. Why? This is my piece of code: function combo_service(winTitle,desc,input_param) { /* parametri */ param=input_param.split(","); /* della forma: param[0]="doc1:text", quindi da splittare di nuovo */ /* cosi' non la creo più volte */ win; if (!win) var win = new Ext.Window({ //title:Ext.get('page-title').dom.innerHTML renderTo:Ext.getBody() ,iconCls:'icon-bulb' ,width:420 ,height:240 ,title:winTitle ,border:false ,layout:'fit' ,items:[{ // form as the only item in window xtype:'form' ,labelWidth:60 ,html:desc ,frame:true ,items:[{ // textfield fieldLabel:desc ,xtype:'textfield' ,anchor:'-18' }] }] }); win.add({ // form as the only item in window xtype:'form' ,labelWidth:60 ,html:desc ,frame:true ,items:[{ // textfield fieldLabel:desc ,xtype:'textfield' ,anchor:'-18' }]}); win.show(); }; What's wrong with my code? Thank you very much.

    Read the article

  • Google Maps: remember id of marker with open info window

    - by AP257
    I have a Google map that is showing a number of markers. When the user moves the map, the markers are redrawn for the new boundaries, using the code below: GEvent.addListener(map, "moveend", function() { var newBounds = map.getBounds(); for(var i = 0; i < places_json.places.length ; i++) { // if marker is within the new bounds then do... var latlng = new GLatLng(places_json.places[i].lat, places_json.places[i].lon); var html = "blah"; var marker = createMarker(latlng, html); map.addOverlay(marker); } }); My question is simple. If the user has clicked on a marker so that it is showing an open info window, currently when the boundaries are redrawn the info window is closed, because the marker is added again from scratch. How can I prevent this? It is not ideal, because often the boundaries are redrawn when the user clicks on a marker and the map moves to display the info window - so the info window appears and then disappears again :) I guess there are a couple of possible ways: remember which marker has an open info window, and open it again when the markers are redrawn don't actually re-add the marker with an open info window, just leave it there However, both require the marker with an open window to have some kind of ID number, and I don't know that this is actually the case in the Google Maps API. Anyone? ----------UPDATE------------------ I've tried doing it by loading the markers into an initial array, as suggested. This loads OK, but the page crashes after the map is dragged. <script type="text/javascript" src="{{ MEDIA_URL }}js/markerclusterer.js"></script> <script type='text/javascript'> function createMarker(point,html, hideMarker) { //alert('createMarker'); var icon = new GIcon(G_DEFAULT_ICON); icon.image = "http://chart.apis.google.com/chart?cht=mm&chs=24x32&chco=FFFFFF,008CFF,000000&ext=.png"; var tmpMarker = new GMarker(point, {icon: icon, hide: hideMarker}); GEvent.addListener(tmpMarker, "click", function() { tmpMarker.openInfoWindowHtml(html); }); return tmpMarker; } var map = new GMap2(document.getElementById("map_canvas")); map.addControl(new GSmallMapControl()); var mapLatLng = new GLatLng({{ place.lat }}, {{ place.lon }}); map.setCenter(mapLatLng, 12); map.addOverlay(new GMarker(mapLatLng)); // load initial markers from json array var markers = []; var initialBounds = map.getBounds(); for(var i = 0; i < places_json.places.length ; i++) { var latlng = new GLatLng(places_json.places[i].lat, places_json.places[i].lon); var html = "<strong><a href='/place/" + places_json.places[i].placesidx + "/" + places_json.places[i].area + "'>" + places_json.places[i].area + "</a></strong><br/>" + places_json.places[i].county; var hideMarker = true; if((initialBounds.getSouthWest().lat() < places_json.places[i].lat) && (places_json.places[i].lat < initialBounds.getNorthEast().lat()) && (initialBounds.getSouthWest().lng() < places_json.places[i].lon) && (places_json.places[i].lon < initialBounds.getNorthEast().lng()) && (places_json.places[i].placesidx != {{ place.placesidx }})) { hideMarker = false; } var marker = createMarker(latlng, html, hideMarker); markers.push(marker); } var markerCluster = new MarkerClusterer(map, markers, {maxZoom: 11}); </script>

    Read the article

  • Perl Tk : Displaying window in bottom right Corner

    - by pavun_cool
    Hi All. I have planned to do the chatting the exercise Perl socket. In this I want to display the require window using Perl Tk . Here my requirement is that the window has to display in the bottom right corner . It is like Gmail Chat window. What I need to for achieve this thing. By default it displays in top left corner. Thanks in Advance

    Read the article

  • webBrowser popup window loses session

    - by Usman
    I am using WebBrowser control of .NET to login into a website. When i click on a button that popups a new window the popup window asks me to login again. However i am not asked to login again if i open the webpage in internet explorer. Is there any way to make the WebBrowser control store session so that i do not have to login again on the popup window.

    Read the article

  • Capture (trap) the mouse cursor in a window in Java

    - by typoknig
    Hi all, I am looking for a way to capture or trap the mouse in a window after it has entered that window much like a mouse is trapped in a virtual machine window until a user presses CTRL+ALT+DEL or release the mouse in some other manner. How do I make this happen in Java? Going full screen is not an option.

    Read the article

  • Finding zoom level from window object properties

    - by Mihai Fonoage
    Hi, I want to find out the zoom level of what is being displayed in a browser window based on the javascripts' window object properties (http://www.javascriptkit.com/jsref/window.shtml) to which I have access. I just can't seem to find the right mathematical formula for the zoom based on the inner width, page offset, etc. I found a solution, but that uses the document.body.getBoundingClientRect call which does not return anything in my case and for which I can't tell if there's a suitable replacement from the window properties. I am using Safari. Thank you, Mihai

    Read the article

  • How to remove view from window?

    - by Wayfarer
    I am using Cocos2D for my main framework. In some cases, I want Cocos2D to load a nib file and have that be the view: window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; TargetPlayerViewController *myController = [[TargetPlayerViewController alloc]initWithNibName:@"TargetPlayerViewController" bundle:nil]; [window addSubview:[myController view]]; [window makeKeyAndVisible]; This works as expected, and shows the TargetPlayerViewController. Wonderful! What I need to know is: once that view has been loaded, how can I have the view remove itself? I've tried a few different ways, but all of them result in the program crashing. To test I have a button on the view set up which triggers this method: - (IBAction)GTFOnow:(id)sender { NSLog(@"GFTO"); window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; //[self.view removeFromSuperview]; //[window makeKeyAndVisible]; } In this method the view should remove itself from the view so I can go back to the Cocos2D. How do I do this?

    Read the article

  • Direct2D window black when not in focus

    - by Saul Rennison
    Hi all, I have a Direct2D window which paints fine when in focus; however, when focus moves to another window (same application or another), the entire window goes black. I pinned the issue down to the use of ID2D1HwndRenderTarget::Clear. This function is vital to my application as without it, painting becomes rather... weird. Is there a way an un-focused Direct2D window can paint as normal (note: WM_PAINT is being called as usual, as is Clear, BeginPaint, etc. all without error) Thanks in advance.

    Read the article

  • Window Leaked on FBConnect in Android?

    - by Praveen Chandrasekaran
    how to rectify this Window Leaked Exception. i cant find why its occured. My LogCat Info: 05-07 17:25:05.402: ERROR/WindowManager(13595): Activity com.codecarpet.fbconnect.FBLoginActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@433b9ae0 that was originally added here 05-07 17:25:05.402: ERROR/WindowManager(13595): android.view.WindowLeaked: Activity com.codecarpet.fbconnect.FBLoginActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@433b9ae0 that was originally added here 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.view.ViewRoot.<init>(ViewRoot.java:214) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.view.Window$LocalWindowManager.addView(Window.java:409) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.app.Dialog.show(Dialog.java:238) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.app.ProgressDialog.show(ProgressDialog.java:107) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.app.ProgressDialog.show(ProgressDialog.java:95) 05-07 17:25:05.402: ERROR/WindowManager(13595): at com.codecarpet.fbconnect.FBProgressDialog.show(FBProgressDialog.java:106) 05-07 17:25:05.402: ERROR/WindowManager(13595): at com.codecarpet.fbconnect.FBDialog$WebViewClientImpl.onPageStarted(FBDialog.java:508) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:214) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.os.Handler.dispatchMessage(Handler.java:99) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.os.Looper.loop(Looper.java:123) 05-07 17:25:05.402: ERROR/WindowManager(13595): at android.app.ActivityThread.main(ActivityThread.java:4203) 05-07 17:25:05.402: ERROR/WindowManager(13595): at java.lang.reflect.Method.invokeNative(Native Method) 05-07 17:25:05.402: ERROR/WindowManager(13595): at java.lang.reflect.Method.invoke(Method.java:521) 05-07 17:25:05.402: ERROR/WindowManager(13595): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 05-07 17:25:05.402: ERROR/WindowManager(13595): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 05-07 17:25:05.402: ERROR/WindowManager(13595): at dalvik.system.NativeStart.main(Native Method)

    Read the article

  • Window 'onscreen' size puzzle

    - by Bender
    Okay, a REALLY fundamental question about window sizes here... If I create an NSWindow in IB, set its size to 216 x 144 points (exactly 3 inches by 2 inches) then print the window, it measures exactly what I set it to in IB. However, the onscreen display size measures approximately 156 x 105 points. What causes this, and is there any way to force the window to display at the required size onscreen? I ultimately want to draw to this (semi-transparent) window then use it as a full-sized overlay for comparison against a separately loaded scanned image of known size.

    Read the article

  • How do I get a window caption?

    - by P.Brian.Mackey
    I would like to get a Window Caption as given by spy++ (highlighted in red) I have code to do this (or so I thought)...but it seems to work pretty awful....in some cases 1% of the time... public delegate bool EnumDelegate(IntPtr hWnd, int lParam); [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool IsWindowVisible(IntPtr hWnd); [DllImport("user32.dll", EntryPoint = "GetWindowText", ExactSpelling = false, CharSet = CharSet.Auto, SetLastError = true)] static extern int GetWindowText(IntPtr hWnd, StringBuilder lpWindowText, int nMaxCount); [DllImport("user32.dll", EntryPoint = "EnumDesktopWindows", ExactSpelling = false, CharSet = CharSet.Auto, SetLastError = true)] static extern bool EnumDesktopWindows(IntPtr hDesktop, EnumDelegate lpEnumCallbackFunction, IntPtr lParam); static List<NativeWindow> collection = new List<NativeWindow>(); public static NativeWindow GetAppNativeMainWindow() { GetNativeWindowHelper.EnumDelegate filter = delegate(IntPtr hWnd, int lParam) { StringBuilder strbTitle = new StringBuilder(255); int nLength = GetNativeWindowHelper.GetWindowText(hWnd, strbTitle, strbTitle.Capacity + 1); string strTitle = strbTitle.ToString(); if (!string.IsNullOrEmpty(strTitle)) { if (strTitle.ToLower().StartsWith("window title | my application")) { NativeWindow window = new NativeWindow(); window.AssignHandle(hWnd); collection.Add(window); return false;//stop enumerating } } return true;//continue enumerating }; GetNativeWindowHelper.EnumDesktopWindows(IntPtr.Zero, filter, IntPtr.Zero); if (collection.Count != 1) { //log error ReleaseWindow(); return null; } else return collection[0]; } public static void ReleaseWindow() { foreach (var item in collection) { item.ReleaseHandle(); } }

    Read the article

< Previous Page | 29 30 31 32 33 34 35 36 37 38 39 40  | Next Page >