Can I make Windows 7 and the Nvidia Control Panel "forget" external display resolutions?

2,124

Solution 1

I found a way.

I went to the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers and deleted subkeys that had DELA in them. These are apparently the keys windows uses to decide what display settings to use when the display configuration changes. Deleting them caused windows to forget the settings and when I plugged the external monitor in it reverted back to mirroring both monitors at a lower resolution that worked.

Special thanks to sysinternals process monitor tool which I spent a while using to see which registry keys were read and written when I plugged in and unplugged my monitor.

Yay!

Solution 2

I solved his issue by downloading teamviewer and then attaching my not working display to my laptop and then connected to my laptop using another pc or mobile device using teamviewer app. then went to screen res and changed it back to normal settings. NOTE, YOU MUST USE TEAMVIEWER, ANY OTHER REMOTE CONTROL APPLICATION ATTACHES ITSELF TO THE COMPUTER AS A DISPLAY.

Share:
2,124

Related videos on Youtube

BRBT
Author by

BRBT

Updated on September 18, 2022

Comments

  • BRBT
    BRBT almost 2 years

    I am cloning a div and changing all of the child element id's and appending it below the original div. Now within that div I have several buttons that trigger events when clicked. Each one of these buttons have a class name that I am using to fire the event opposed to using the id. However when I try to click on any buttons within my cloned div none of my events are firing.

    Here is how I am cloning my div, changing the id's and appending it:

    $(function() {    
      var $section = $("#facility_section_info").clone();
      var $cloneID = 1; 
        $( ".addSection" ).click(function() { 
            var $sectionClone = $section.clone(true).find("*[id]").andSelf().each(function() { $(this).attr("id", $(this).attr("id") + $cloneID); });
            $('#facility_section_info').append($sectionClone);
            $cloneID++; 
        });
    });
    

    here is an original uncloned button within the div that fires an event.

    <input type="button" value="+" id="addRows" class="addRows"/>
    

    And here is what the cloned button looks like:

    <input type="button" value="+" id="addRows1" class="addRows">
    

    The only thing that has changed is that I have added a 1 at the end of the id.

    Here is the event that gets fired when this button gets clicked:

    $(function() {
        var $componentTB = $("#component_tb"),
            $firstTRCopy = $("#row0").clone();
            $idVal = 1;
        $(".addRows").click(function() {
            var copy = $firstTRCopy.clone();
            var newId = 'row' +$idVal;
            copy.attr('id', newId);
            $idVal += 1;
            copy.children('td').last().append("<a href=\"javascript:remove('" + newId + "')\">Remove</a>");
            $componentTB.append(copy);
        });
    });
    

    All this function does is clone a table row in its original form and append it to the end of a table with an added remove link. This function works exactly how I need it to other than not firing when I click on my cloned button.

    Why do my cloned buttons not fire any of my events that are called by class name and not id?

    • Kalish
      Kalish about 9 years
      binding the events may be .... use .on to bind the events and see if works!
    • BRBT
      BRBT about 9 years
      @Kalish if you read my question you will notice that I am doing exactly that already.
    • BRBT
      BRBT about 9 years
      And the downvote was for....?
    • Kalish
      Kalish about 9 years
      I can't see you are using .on to bind the events!!
    • Regent
      Regent about 9 years
      @Kalish .click() is shortcut for .on("click")
    • Kalish
      Kalish about 9 years
      well, there is a significance difference in the usage pattern .... see this for more information.... stackoverflow.com/questions/9122078/…
    • Regent
      Regent about 9 years
      @Kalish we are talking about $(".addRows").click(function() { and $(".addRows").on("click", function() {, which are just the same. You can use .click() to trigger events and .on() for delegated event handlers, but this is not we are talking about. My answer was to your phrase I can't see you are using .on to bind the events!
    • Kalish
      Kalish about 9 years
      @Regent - well, I think we both are on the same page! .click() and .on('click') are same but to answer this question, both are not same
  • Kevin Vermeer
    Kevin Vermeer over 12 years
    Thanks for the tip, this was enough to help me find the settings on Windows XP Embedded, where my settings were in Control\Current\VIDEO\{hash}\0000\<named settings>. There were no subkeys with DELA in them.
  • Dobes Vandermeer
    Dobes Vandermeer over 12 years
    No problem. I think the DELA was because my monitor is made by DELL, so other monitors would have something different in there.
  • BRBT
    BRBT about 9 years
    Why should I do this?
  • SpYk3HH
    SpYk3HH about 9 years
    To assign the event to dynamic elements
  • Regent
    Regent about 9 years
    @BigRabbit here you go: docs.
  • BRBT
    BRBT about 9 years
    @Regent thanks, so would it be safe to always delegate events instead of having them direct?
  • Regent
    Regent about 9 years
    @BigRabbit it's not about safety but about purpose of usage :) If element is created dynamically, you can use delegated event handler or you can add event handler after element is inserted into DOM.
  • SpYk3HH
    SpYk3HH about 9 years
    @BigRabbit was in public and in a hurry with previous answer, now it's been updated with a lot more detail. feel free to ask me anything about it
  • BRBT
    BRBT about 9 years
    @SpYk3HH Thats awesome that makes a lot more sense to me now thanks so much. My only confusion now is will I have to change anything within my event if I am taking in a parameter (e), into my function or ..?
  • SpYk3HH
    SpYk3HH about 9 years
    @BigRabbit I added an example. Also, to answer your question, if I think I know what you mean, no. In event delegation, the parameter e or event is still the same as always. I'll add to answer real quick
  • BRBT
    BRBT about 9 years
    @SpYk3HH that helped me A LOT, thank you so much, I really appreciate it!
  • SpYk3HH
    SpYk3HH about 9 years
    @BigRabbit Not a problem. I added a little more to the answer, just to try and give you a little more understanding of the usefulness of this type of delegation.
  • BRBT
    BRBT about 9 years
    @SpYk3HH yeah that helps for sure, very interesting and clean. I wish all these people upvoted this answer instead! ;)
  • Psi
    Psi about 7 years
    Hey @DobesVandermeer: thanks for that! Upvoted! However when I filter out some stuff my log file is absolutely huge! How did you filter the output to figure out which keys to delete?? (Willing to tip you generously as this is a major issue for me right now)
  • Dobes Vandermeer
    Dobes Vandermeer about 7 years
    @ThomasHollis Sorry it's been so many years. Definitely search for "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Graphic‌​sDrivers" in the logs, and see what subkeys are in use. Or just go in there in regedit and see if any of the subkeys in there look like they are named after your display combination, you can try deleting them. I think it is basically OK to delete the keys in here and Windows will fallback on default.