Google Chrome: Luôn gặp lỗi hàng đầu


15

Xin lỗi cho tiêu đề mơ hồ nhưng điều này là khó để giải thích vì vậy hãy chịu đựng với tôi.

Tôi đang sử dụng Windows Vista để phát triển web và đôi khi khi tôi Nhấp hoặc Alt-Tab vào cửa sổ nền, cửa sổ sẽ lấy nét nhưng nó sẽ không được đưa ra phía trước.

Để đưa cửa sổ ra phía trước, tôi phải nhấp vào viền ứng dụng (khi con trỏ thay đổi kích thước xuất hiện) và sau đó cửa sổ sẽ nhảy về phía trước.

Tôi đã gặp vấn đề này khoảng một năm nay và nó xảy ra ít nhất một chục lần một ngày, nhưng nó không làm điều này mọi lúc - có vẻ ngẫu nhiên.

Tôi hy vọng tôi đã giải thích vấn đề đầy đủ (và bạn đã hiểu nó) và sẽ đánh giá cao bất kỳ câu trả lời hoặc nhận xét mang tính xây dựng nào để giải quyết vấn đề này.

Ví dụ: Nếu tôi Alt-Tab từ Google Chrome sang Notepad và sự cố này xảy ra ngẫu nhiên, Google Chrome sẽ vẫn ở phía trước Notepad, tuy nhiên, tôi sẽ có thể nhập văn bản vào Notepad trong khi cửa sổ nằm sau Google Chrome. Nhấp vào khu vực nội dung của Notepad sẽ không đưa nó ra phía trước nhưng nhấp vào viền cửa sổ sẽ.

Video Exampe

http://vimeo.com/19388998

Trong video này, tôi đã nhấp từ Google Chome đến UltraEdit và chrome vẫn ở dạng phông chữ, nhưng như bạn thấy, tôi vẫn có thể gõ UltraEdit.

Tôi bắt đầu tin rằng đây có thể là một lỗi trong Google Chrome vì vậy tôi sẽ tiếp tục xem nếu điều này xảy ra giữa các ứng dụng khác.


Bạn có thể đặt máy tính của mình ở độ phân giải thấp hơn (HD 720p trở xuống) và tải lên video cho thấy sự cố khi sử dụng Jing . Hơn nữa, hãy thử vô hiệu hóa các ứng dụng tự động khởi động với AutorunShellExView để xem liệu một chương trình nhàn rỗi hoặc tiện ích mở rộng trình thám hiểm có gây ra hành vi này hay không, hãy xem những gì bạn vô hiệu hóa mặc dù ...
Tamara Wijsman

Có xảy ra khi bạn có một ứng dụng nào đó mở ở phía trước và cố gắng thay thế tab đó không? Nó có thể là một trường hợp mà cửa sổ đã được đặt luôn ở trên cùng. Tôi đã có vấn đề này trong một thời gian khi cửa sổ mIRC của tôi được đặt luôn ở trên cùng.
Windos

Tôi cũng gặp phải vấn đề này (sử dụng Windows 7). Mặc dù tôi không biết chính xác bản chất của vấn đề, tôi nghĩ nó xảy ra khi tôi mở trình duyệt Web và có một nội dung flash trên một trong những trang web tôi đã mở. Tuy nhiên, có vẻ như tôi không thể sao chép nó.
happy_soil

Bây giờ tôi nghĩ về nó, tôi có một số chương trình đang chạy trong nền được đặt là "Luôn luôn ở trên cùng", vì vậy tôi nghĩ rằng điều đó có thể cản trở việc lấy nét cửa sổ.
happy_soil

@happy_soil: Bạn có thể đưa ra câu trả lời này. Cửa sổ "Luôn luôn trên đầu" đang chạy là một lời giải thích tốt cho hành vi này.
harrymc

Câu trả lời:


6

Trong trường hợp của Chrome, đây là sự cố đã biết: Cửa sổ Chrome luôn hoạt động hàng đầu

Cách khắc phục nhanh cho sự cố này là chọn Cửa sổ Chrome và nhấn F11 hai lần.


Cảm ơn vì liên kết của lỗi này, tuy nhiên, đó không phải là vấn đề tôi đang gặp phải. Vấn đề của tôi liên quan đến các cửa sổ ứng dụng chứ không phải thanh tác vụ. Tôi không thể xác nhận ở giai đoạn này nếu Chrome có gây ra sự cố này hay không.
GateKiller

Tôi xin lỗi nếu nhận xét trước đó nghe có vẻ thô lỗ. Đó không phải là ý định của tôi. Tôi đánh giá cao đầu vào của bạn :)
GateKiller

Lỗi này rõ ràng ảnh hưởng đến cả alt-tab và thanh tác vụ. Báo cáo lỗi ban đầu là cho thanh tác vụ, nhưng nhận xét 41 cũng lưu ý ảnh hưởng của nó đến tab alt. (và nhận xét của bạn không có vẻ thô lỗ chút nào.)
harrymc

Sau khi đọc và kiểm tra thêm, tôi đồng ý rằng Google Chrome cho Windows thực sự là vấn đề. Tôi đã thêm cách giải quyết vào câu trả lời của bạn trong khi chúng tôi chờ Google khắc phục sự cố.
GateKiller

1
Tôi đang dùng Windows 10. Vấn đề này vẫn còn và F11 hai lần cũng không hoạt động.
Rosdi

4

Nó trông như thế nào?

Chỉ có một hành vi gần với vấn đề đó và đó sẽ là hành vi Luôn luôn trên đỉnh .
Một số đoạn mã, có lẽ từ chính chương trình có thể đang thay đổi thuộc tính của cửa sổ của bạn ...

Làm thế nào là một cửa sổ được đặt là "Luôn luôn trên đầu"?

Cách tạo biểu mẫu luôn đặt trên đầu cho chúng ta thấy SetWindowPos được gọi với tham số thứ hai được đặt thành HWND_TOPMOST , điều này ngay lập tức đặt nó lên trên cùng và giữ nguyên như vậy.

Sau khi Google nhanh chóng, kết quả này cho thấy User32.dll là chủ sở hữu của chức năng này.

Ai đặt cửa sổ của tôi "Luôn ở trên đỉnh"?

Bây giờ chúng ta có kiến ​​thức về chức năng nào được gọi, chúng ta sẽ muốn biết khi nào chức năng đó được gọi. Điều này sẽ yêu cầu chúng tôi tạo các dấu vết ngăn xếp và phân tích chúng, trong khi Bộ công cụ hiệu suất Windows có thể làm điều này, chúng tôi có thể rất vui khi Rohitab Batra đã viết Trình giám sát Api tuyệt vời .

Xin lỗi, nhưng đây là bài tập về nhà khó:

  • Tải xuống API Monitor và cài đặt nó.
  • Mở API Monitor với tư cách quản trị viên , nếu bạn có 64 bit, bạn cần thực hiện việc này hai lần.
  • Đảm bảo rằng không có gì được kiểm tra trong API Capture Filter ở bên trái.
  • Ở cùng một vị trí, thay đổi Tất cả các Mô-đun ở đầu Hộp thoại đó thành User32.dll .
  • Đi đến

    Windows Application UI Development > Windows and Messages > Windows
    

    và sau đó

    User32.dll > SetWindowPos
    

Bây giờ, bạn sẽ muốn hook một số quy trình. Lưu ý: Sắp xếp theo PID và không móc vào winlogon.exehoặc bất cứ thứ gì có PID thấp hơn mức đó, nếu bạn làm như vậy, bạn sẽ treo hoặc làm hỏng hệ thống của mình. Bạn cũng có thể gặp phải hành vi này với các quy trình khác, nhưng nó giống như một bản dùng thử và lỗi để xem những gì bạn có thể móc. Vì thế:

  • Sắp xếp theo PID và móc mọi thứ mới hơn winlogon.exe.
  • Nếu mọi thứ suôn sẻ, bạn có thể xem qua các luồng trong hộp thoại Hooked Process .
  • Tìm kiếm một lệnh gọi API trông như thế này:

    SetWindowPos (0x000000000002043c, HWND_BOTTOM | 0x00000000fffffffe , 0, 0, 0, 0,
    SWP_NOACTIVATE | SWP_NOMISE | SWP_NOSIZE)

Một cuộc gọi đến SetWindowPos với HWND_BOTTOM | 0x00000000fffffffe ( -2 + 1 = -1 = HWND_TOPMOST ) là những gì chúng tôi đang theo đuổi và quá trình thực hiện cuộc gọi này là vấn đề bạn nên đổ lỗi cho vấn đề của mình.

Tôi từ bỏ ... Làm thế nào tôi có thể khắc phục vấn đề "Luôn luôn đứng đầu"?

Chiến đấu với lửa, chúng tôi sẽ thiết lập tất cả các cửa sổ thành HWND_NOTOPMOST .

Rất tiếc, lập trình! Nhưng, điều này có thể dễ dàng được thực hiện thông qua kịch bản quá ...

Vì vậy, một nhiệm vụ bài tập về nhà rất đơn giản:

  • Tải xuống AutoIt v3 .

  • Tạo tệp ByeByeTopMost.au3 có chứa:

    While 1
        $var = WinList()
    
        For $i = 1 to $var[0][0]
            WinSetOnTop($var[$i][1], "", 0)
        Next
    
        Sleep(5000)
    WEnd
    
  • Đặt nó trong thư mục khởi động của bạn và chạy nó hoặc khởi động lại.

Hoặc nếu bạn không thích bài tập về nhà, hãy tải xuống tệp zip này tôi đã tạo.

Chúc vui vẻ... :-)

Tái bút: Bạn không thể sử dụng tính năng "Luôn luôn đứng đầu" trong trường hợp cuối cùng này. Hoặc khắc phục sự cố hoặc khắc phục sự cố ... ;-)


Tôi thích câu trả lời này.
Supercereal

SetWindowPos không kích hoạt khi sự cố xảy ra ... Tôi cũng thấy rất khó chịu khi bạn đổi tên hoàn toàn câu hỏi và sau đó viết câu trả lời cho nó.
GateKiller

1
@GateKiller: Làm thế nào là tấn công? Nó giúp bạn hướng tới việc nhận được câu trả lời tốt hơn. Đây cũng là một mô tả đúng hơn về vấn đề của bạn (vì "cửa sổ phía trước" thường được gọi là "luôn luôn ở trên đầu") và bây giờ bạn đã thay đổi tiêu đề của mình thành Google Chrome sau khi nhận được câu trả lời . Dù sao đi nữa, bạn luôn thoải mái quay lại và tôi rất vui vì bạn đã giải quyết được vấn đề của mình, hơn nữa SetWindowPos sẽ giải quyết trước khi sự cố xảy ra hoặc một quy trình tương tự khác có tác dụng tương tự có thể được gọi là ... :-)
Tamara Wijsman

4

Để vô hiệu hóa điều này, bạn phải nhấn

ALT + không gian + C

alt+ space+c

Sau khi nhấn các nút này, trình duyệt Google Chrome sẽ tự động đóng lại. Sau đó bắt đầu lại trình duyệt Google Chrome.

Vấn đề sẽ được giải quyết mãi mãi :)


ALT + Space + C đã đóng trình duyệt của tôi và khắc phục sự cố. Tôi phải quay lại đây để nêu lên câu trả lời của bạn.
Oscar Fraxedas

1
Đây là điều duy nhất giải quyết vấn đề của tôi.
ddonche


0

Một cách khắc phục nhanh là nhấp vào nút 'hiển thị trên màn hình' hai lần ở phía bên phải của thanh tác vụ trên windows 7/8 / 8.1


1
Như đã viết, câu trả lời của bạn cung cấp rất ít thông tin hữu ích. Bạn có thể mở rộng nó một chút không?
bwDraco

0

Tôi đã gặp vấn đề tương tự và đã cố gắng khắc phục bằng cách vào "Chuyển người dùng" trong menu Bắt đầu và sau khi đăng nhập lại vào cửa sổ, lại tôn trọng thanh công cụ. Nó dường như ảnh hưởng đến tất cả các cửa sổ và trong khi chrome có thể là một nguyên nhân, nó dường như ảnh hưởng đến toàn hệ thống Windows, cho thấy thủ phạm có thể xảy ra từ chính Windows. Tạo bài đăng này sau lần chạy đầu tiên của tôi với sự cố sau khi là người dùng Chrome được 5 năm trên cả Windows XP & 7.


0

Vâng, tôi đã có cùng một vấn đề, và chạm hai lần vào F11 không giải quyết được gì. Nhưng tôi đã thấy, vì tôi đã mở hai cửa sổ Google Chrome, nên chỉ có một trong số chúng nằm trên tất cả các cửa sổ khác mà tôi có (Steam, Notepad, v.v.). Sau đó, tôi lấy một trong các tab luôn ở trên cùng và tạo một cửa sổ mới với nó và sau đó lấy mọi tab khác từ cửa sổ trên cùng sang cửa sổ mới. Bây giờ mọi cửa sổ xuất hiện trên đầu khi tôi chọn nó, giống như bình thường.

Hy vọng điều này có thể giúp :)


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.