The tourists were 198 for 7 in their second innings when bad light stopped play 15 overs early. They still need another three runs to avoid their third innings defeat in a row after an eventful day in which 16 wickets fell.
The Pakistan and Surrey off-spinner Saqlain Mushtaq added four more wickets to his five in the first innings to push his team close to their third win of the series.
Resuming on a commanding 327 for 1 Pakistan lost nine wickets for 90 runs to be all out for 417 - a first-innings lead of 201. Mervyn Dillon finished with 5 for 111, his best figures in Tests, while the West Indies captain Courtney Walsh took 4 for 74.
Ijaz Ahmed, who was 127 overnight, fell to Dillon after making 151 with 15 fours and a six and the young fast bowler then took three wickets in 36 balls to reduce Pakistan to 359 for 4, dismissing Saeed Anwar (15), Inzamam-ul-Haq (4) and Mohammad Wasim (12).
Walsh then burst through the lower order and reached 350 Test wickets when he trapped Moin Khan lbw for five. He became the seventh bowler to reach the milestone, passing it in his 96th Test.
Waqar Younis soon had West Indies on the defensive in their second innings, taking two wickets in six balls. He trapped Stuart Williams for 12 and forced the other opener Sherwin Campbell to edge to the slips after making five.
Hooper joined Brian Lara at that point and they took the visitors to 100 for 2 at tea, Hooper reaching 50 off 48 balls with eight fours and a six.
The 31-year-old then went on to record the third-fastest century for the West Indies off just 80 balls, blasting 15 fours and three sixes for his eighth hundred in 67 Tests and his third against Pakistan.
Hooper added 121 runs for the third wicket with Lara, who made a resolute 37 before being caught at silly point off Saqlain.
That completed a poor series for the new Warwickshire captain, who scored 129 runs in six innings.
Hooper was then bowled by Wasim for 106, made off 90 balls in 136 minutes, to end a stand of 42 with Shivnarine Chanderpaul, who was caught behind off Saqlain for 16.
Saqlain then dismissed Roland Holder and David Williams in successive overs to leave the West Indies three tail-enders' wickets away from a humiliating 3-0 series defeat.
Third day; West Indies won toss
WEST INDIES - First Innings 216 (S L Campbell 50; Saqlain Mushtaq 5-54).
PAKISTAN - First Innings
(Overnight: 327 for 1)
Ijaz Ahmad c D Williams b Dillon 151
Saeed Anwar c D Williams b Dillon 15
Inzamam-ul-Haq lbw b Dillon 4
Mohammad Wasim lbw b Dillon 12
Moin Khan lbw b Walsh 5
Azhar Mahmood not out 26
*Wasim Akram lbw b Walsh 0
Saqlain Mushtaq c Lara b Walsh 0
Mushtaq Ahmed b Walsh 1
Waqar Younis c S C Williams b Dillon 12
Extras (b3, lb9, nb17, w2) 31
Total (118.4 overs) 417
Fall (cont): 2-329, 3-333, 4-359, 5-374, 6-389, 7-390, 8-390, 9-396.
Bowling: Walsh 23-2-74-4 (nb2); Rose 12-1-44-0 (nb1); Dillon 29.4-4-111- 5; Bishop 15-0-68-0 (nb11, w1); Hooper 32-10-74-0 (nb3); Chanderpaul 7- 0-34-1 (w1).
WEST INDIES - Second Innings
S L Campbell c Inzamamul b Waqar 5
S C Williams lbw b Waqar 12
B C Lara c Mohammad b Saqlain 37
C L Hooper b Wasim 106
S Chanderpaul c Moin b Saqlain 16
R I C Holder c Aamir b Saqlain 5
D Williams b Saqlain 2
I R Bishop not out 5
F A Rose not out 0
Extras (b7, nb3) 10
Total (for 7) 198
Fall: 1-14 2-19 3-140 4-182 5-186 6-191 7-193.
To bat: *C A Walsh, M Dillon.
Bowling: Wasim Akram 14-7-31-1 (nb2); Waqar Younis 6-0-31-2; Azhar Mahmood 3-0-32-0 (nb1); Mushtaq Ahmed 8-0-72-0; Saqlain Mushtaq 16-7-25-4.
Umpires: C J Mitchley (SA) and Salim Padar (Pak).Reuse content